3

我从 NET 收到了一个面试问题,但没有找到合适的解决方案,谁能告诉我这个查询有什么问题?

给定这个表结构和索引,后续查询有什么问题呢?

CREATE TABLE dbo.IndexQ (
ID int IDENTITY(1, 1) NOT NULL,
TestBit bit NOT NULL
)
GO

CREATE NONCLUSTERED INEX IX_IndexQ_TestBit ON dbo.IndexQ (TestBit)
GO

* Insert some rows where some bits are 0 and some are 1...

SELECT *
FROM dbo.IndexQ
WHERE TestBit = 1
* What's the problem with this query?
4

1 回答 1

3

我想你的 NONCLUSTERED 位字段索引中的问题。如果你有一个大表,你不应该在位字段上建立索引,因为它有更多的记录,它们的索引效率会降低,但是你会在上面使用更多的日期。

请参阅https://dba.stackexchange.com/questions/12888/should-i-index-a-bit-field-in-sql-server

于 2013-04-08T09:21:33.930 回答