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

Подреждането на колони влияе ли върху производителността в Microsoft SQL Server 2012?

Редът на колоните в таблицата ще има много малко влияние върху производителността в сравнение с въздействието върху производителността на дизайна на вашата база данни (обекти, атрибути и връзки), дизайна на вашата транзакция и дизайна на вашата заявка.

За да разберете дали разликата не е незначителна, наистина трябва да настроите някои тестове и да сравните резултатите.

Обикновено поставям първичния ключ като първа колона, след това външния ключ(ове), а след това естествените ключове и колоните с често достъп. Обикновено поставям по-дългите струни към края на реда. Но това не е непременно оптимизация на производителността, колкото е предпочитание за стил, което използвам за удобство.

Редът на колоните може да окаже влияние върху размера на реда в SQL Server, когато голям брой колони в реда са нулеви и повечето от тези колони съдържат NULL. SQL Server (като Oracle) има оптимизация, при която не е запазено място за колони, които съдържат NULL стойности В КРАЯ на реда. За всяка колона в реда е запазено малко пространство до последната стойност, различна от NULL в реда.

Изводът от това е, че ако имате много нулеви колони, искате колоните, които най-често не са NULL ПРЕДИ колоните, които най-често са NULL.

ЗАБЕЛЕЖКА:Имайте предвид, че SQL Server подрежда колоните в таблица първо според това дали колоната е с фиксирана дължина или с променлива дължина. Първо се съхраняват всички колони с фиксирана дължина, след това следвани от всички колони с променлива дължина. В рамките на тези набори от колони (фиксирани и променливи) колоните се съхраняват в реда, в който са дефинирани.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO PHP bindValue не работи

  2. Оптимистичен паралелност с Entity Framework и MySQL

  3. Ефективно избиране на най-близкия (разстояние) запис от база данни

  4. Групирайте множество mysql резултата по стойност на една колона

  5. Mysql или/и приоритет?