搜索速度问题
表结构
产品表:ProductInfo 关健字段 CorpID,ProductID
厂商表:Corporation 关健字段 CorpID
产品类别表:ProductType 关健字段 ProductID CategoryID
类别表:Category 关健字段 CategoryID parentID
产品对象表: ProductObject 关健字段 ProductID CategoryID
对象表:DictCode 关健字段 DictCode
产品表与厂商表是-对-的关系 关联字段是CorpID
产品表与产品类别表是一对多 关联字段是ProductID
(这里的类别表父子关系是在一个表里,有ParentID字段关联)
产品表与产品对象表也是-对多 关联字段也是ProductID
主键是char(36),都建有聚集索引.关联字段也都有索引. 现在搜索得很慢...
------解决方案--------------------看表能不能再优化?
------解决方案--------------------char(36)
-->
varchar(36)
------解决方案--------------------太多的关联,那速度肯定会慢了,把查询语句发出来看一下!
------解决方案--------------------你應該去掉1=1(這樣的話你所有的索引不會起作用,當然慢了)
我痛恨那些程序員在前台偷懶的作法,如:為了少寫代碼而用where 1=1然後動態組合SQL語句
------解决方案--------------------where 后面將主鍵、索引放在最左邊
等號左邊的字段最好不要加函數
------解决方案--------------------where 1=1 是个很糟糕的写法