日期:2014-05-18  浏览次数:20473 次

sql语句执行太慢@@
SELECT  
RE_Customers.cCustomerName,   RE_CustomerClasses.cClassName,   RE_Customers.cCustomerPhone,   RE_Customers.cCustomerMobile  
FROM  
RE_Customers   INNER   JOIN   RE_CustomerClasses   ON   RE_Customers.cClassCode   =   RE_CustomerClasses.cClassCode  
ORDER   BY   cCustomerName   DESC  
数据库中的数据才几万条执行速度居然要用6秒多...郁闷哪位老大可以帮我改改吗?
已经在cCustomerName列加了索引!


------解决方案--------------------
cClassCode 字段建立索引。
------解决方案--------------------
有必要ORDER BY 吗?
有必要 DESC 吗?

两个cClassCode 建立索引了吗?
------解决方案--------------------
两个cClassCode 列建立聚集索引
------解决方案--------------------
在cClassCode中那聚集索引,且要是不注重顺序的话,就不用排序,可以加快速度!
------解决方案--------------------
看看执行计划,瓶颈是否在order by?

2个表的连接是嵌套连接还是合并连接,通过调整索引结构,将合并连接改为嵌套连接
------解决方案--------------------
新建的索引的第一个字段必须是cClassCode,否则不起作用
------解决方案--------------------
对,避免索引覆盖现象.....