select * from 表名 where 1=1

来源:互联网 发布:矩阵制结构图 编辑:程序博客网 时间:2024/06/08 01:32
1=1 代表true, 如果单独是这个sql语句,可以不写where 1=1。但如果在程序中需要拼装sql语句。比如后面要加条件,就要写上这个。
select * from table where 1=1因为table中根本就没有名称为1的字段,所以该SQL等效于select * from table,这个SQL语句很明显是全表扫描,需要大量的IO操作,数据量越大越慢,建议查询时增加必输项,即where 1=1后面追加一些常用的必选条件,并且将这些必选条件建立适当的索引,效率会大大提高 
PS:这不是SQL写法的问题,也不是数据库的问题,是自己程序逻辑的问题
 
0 0
原创粉丝点击