首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

搜索速度有关问题

2012-01-20 
搜索速度问题表结构产品表:ProductInfo关健字段CorpID,ProductID厂商表:Corporation关健字段CorpID产品类

搜索速度问题
表结构
产品表: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 是个很糟糕的写法

热点排行