Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Szybsze zapytanie o jedno pole binarne(1) lub 8-bitowe?

Indeksy na polu jednobitowym będą w zasadzie bezużyteczne. Bit ma straszliwą selektywność, 0 lub 1, i prawdopodobnie zostanie zignorowany przez optymalizator. 8 indeksów na 8-bitowych polach będzie 8 indeksami zignorowanymi przez optymalizator.

Indeks w kolumnie bajtowej jest tylko nieco bardziej selektywny i zawiera 256 różnych wartości. Ale jeśli szukasz pojedynczych wzorców bitowych, np. „Bit 3 włączony”, nie ma możliwości wyrażenia tego jako indywidualnej wartości do wyszukania ani jako zakresu.

Wniosek jest taki, że bez względu na to, co spróbujesz, skończysz ze skanowaniem tabeli w każdym razie .

Więc lepiej wyjaśnij, jaki jest Twój problem, a nie rozwiązanie, a może uda nam się wymyślić coś bardziej wydajnego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić aktualną datę w kolumnie wiersza

  2. Jak uruchomić zadanie agenta SQL Server przy użyciu T-SQL

  3. Jaki jest najdłuższy możliwy numer telefonu na świecie, który powinienem wziąć pod uwagę w SQL varchar (długość) dla telefonu?

  4. Rekurencyjne samodołączanie SQL Server

  5. Przywróć kopię zapasową SQL Server 2000 na SQL Server 2012