0

我到处搜索,但没有找到任何答案,

例如,我的 where 子句中有 8 列,如下示例查询:

select col1,col2,col3,col4,col5,col6,col7,col8 where col1 = 1 and col2 = 1 and col3 = 1 and col4 = 'sample' and col5 like '%sample%' and col6 = 1 and col7 like '%sample%'and col8 = '1'

我已经在我的电脑上测试过了,速度还不错,但我不知道这个查询在其他规格较低的电脑上是否会很快,因为我使用的电脑规格很高。我没有其他电脑来测试这种查询。

我表中的某些列也没有索引,因为它不适用。

先感谢您

4

2 回答 2

1

表中没有正确或错误的列数,因为您正在使用的数据以及使用它的方式应该决定您的数据库设计。(来自:http ://ask.sqlservercentral.com/questions/8461/will-number-of-columns-in-a-table-can-affect-perfo.html )

关于 where 子句的更多性能相关信息:http: //use-the-index-luke.com/sql/where-clause

于 2013-08-24T07:39:49.017 回答
1

当然它一定会在一定程度上影响性能——你要求数据库做更多的工作。

为了帮助查询,请确保您有适当的复合索引。把那些相等的是开始和类似的(但不要打扰像'%dffd')在最后,即

CREATE INDEX ON <table name>
(col1, col2, col3, col4, col6, col8) 
于 2013-08-24T08:48:47.637 回答