SELECT ...FROM table_name /* +INDEX (index_name) */ LEFT JOIN other_table_name ...WHERE . . .
其中,index_name表示要使用的索引名称,可以通过查看数据库表的索引列表来获取。另外,也可以使用where子句来触发索引,也就是说,将where字句写在left join之后,避免出现嵌套循环关联(Nested Loop Joins),从而触发索引查询。
1、主键就是聚集索引2、只要建立索引就能显著提高查询速度3、把所有需要提高查询速度的字段都加进聚集索引,以提高查询速度(四)其他书上没有的索引使用经验总结1、用聚合索引比用不是聚合索引的主键速度快2、用聚合索引比用一般的主键作orderby时速度快,特别是在小数据量情况下3、使用聚合索引内的时间段,搜索时间会按数据占整个数据表的百分比成比例减少,而无论聚合索引使用了多少个4、日期列不会因为有分秒的输入而减慢查询速度(五)其他注意事项1.不要索引常用的小型表2.不要把社会保障号码(SSN)或身份z号码(ID)选作键3.不要用用户的键4.不要索引memo/notes字段和不要索引大型文本字段(许多字符)5.使用系统生成的主键二、改善SQL语句1、Like语句是否属于SARG取决于所使用的通配符的类型2、or会引起全表扫描3、非 *** 作符、函数引起的不满足SARG形式的语句4、IN的作用相当与OR5、尽量少用NOT6、exists和in的执行效率是一样的7、用函数charindex()和前面加通配符%的LIKE执行效率一样8、union并不绝对比or的执行效率高9、字段提取要按照“需多少、提多少”的原则,避免“select*”10、count(*)不比count(字段)慢11、orderby按聚集索引列排序效率最高12、高效的TOP欢迎分享,转载请注明来源:内存溢出
评论列表(0条)