Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

По-бързо запитване за едно двоично (1) поле или 8 битови полета?

Индексите на еднобитово поле ще бъдат основно безполезни. Битът има ужасна селективност, 0 или 1, и вероятно ще бъде пренебрегнат от оптимизатора. 8 индекса на 8 битови полета ще бъдат 8 индекса, пренебрегнати от оптимизатора.

Индекс на байтова колона е само малко по-селективен, с 256 различни стойности. Но ако търсите индивидуални модели на битове, като „включен ли е бит 3“, тогава няма начин да изразите това като индивидуална стойност за търсене или като диапазон.

Заключението е, че каквото и да опитате, така или ще получите сканиране на таблица .

Така че по-добре обяснете какъв е вашият проблем, а не вашето решение и може би можем да измислим нещо по-ефективно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SaveChanges() не записва данни

  2. SQL Server:Невалидно име на колона

  3. Да използвате float или десетичен знак за счетоводно приложение в долари?

  4. Автоматично импортиране на много .txt файлове в таблицата на sql сървъра

  5. Как мога да разбера дали SQLexception е изхвърлен поради нарушение на външния ключ?