1.尽可能使用列名,少使用通配符,尽可能添加查询行数
如:SELECT TOP 200 COL1,COL2 FROM TABLE1; 少用:SELECT COL1,COL2 FROM TABLE1;更少用SELECT * FROM TABLE1;
2.避免使用不兼容数据类型。
如:float和int、char和varchar、binary和varbinary是不兼容的。
3.尽量避免WHERE子句中对字段进行函数或者表达式操作,即不要再where条件中进行运算等操作。
如:SELECT * FROMT1 WHERE F1/2=100应改为: SELECT * FROMT1 WHERE F1=100*2
4.尽量避免使用!= 、 <> 、 IS NULL 、 IS NOT NULL 、 IN NOT 、 IN 操作符。
5.合理使用EXISTS,NOT EXISTS。
如:SELECT SUM (T1.money) FROM T1 WHERE EXITST (SELECT * FROM WHERE T2.age=T1.age);
6.尽量少使用count(*)
IF (SELECTCOUNT(*) FROMtable_name WHERE column_name = 'xxx')
IF EXISTS (SELECT * FROMtable_name WHERE column_name = 'xxx'
if exists //判断是否存在
7.查询过程中,尽量可以多条件查询。模糊查询中尽量少使用非开头字符搜索。
8.尽量多使用UNION,少使用OR,更多的使用UNION ALL。
9.尽量少使用困难的正则表达式,多使用数字类型字段。
10.尽量多使用BETWEEN ... AND(选取介于两个值之间的数据范围)少用IN。多使用DISTINCT,少用GROUP BY //DISTINCT选取所有不同的值
11.尽量少使用SELECT INTO(从一个表中选取数据,然后把数据插入另一个表中)。