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

Как да увеличим производителността на база данни?

Оптимизиране на логичния дизайн

Логическото ниво се отнася до структурата на заявката и самите таблици. Опитайте се първо да увеличите максимално това. Целта е достъп до възможно най-малко данни на логическо ниво.

  • Имате най-ефективните SQL заявки
  • Проектирайте логическа схема, която поддържа нуждите на приложението (напр. тип на колоните и т.н.)
  • Проектирайте компромис, за да поддържате някои случаи на употреба по-добре от други
  • Релационни ограничения
  • Нормализиране

Оптимизиране на физическия дизайн

Физическото ниво се занимава с нелогически съображения, като тип индекси, параметри на таблиците и т.н. Целта е да се оптимизира IO, който винаги е тясното място. Настройте всяка маса, за да отговаря на нейните нужди. Малка таблица може да бъде заредена постоянно в кеша на СУБД, таблица с ниска скорост на запис може да има различни настройки от таблица с висока скорост на актуализиране, за да заема по-малко дисково пространство и т.н. В зависимост от заявките може да се използва различен индекс и т.н. денормализирани данни прозрачно с материализирани изгледи и др.

  • Параметри на таблиците (размер на разпределението и т.н.)
  • Индекси (комбинирани, типове и т.н.)
  • Параметри за цялата система (размер на кеша и т.н.)
  • Дялове
  • Денормализиране

Опитайте първо да подобрите логическия дизайн, след това физическия. (Границата между двете обаче е неясна, така че можем да спорим относно моята категоризация).

Оптимизиране на поддръжката

Базата данни трябва да се управлява правилно, за да остане възможно най-ефективна. Това включва няколко стъпки за поддръжка, които могат да окажат влияние върху ефективността, напр.

  • Поддържайте статистиката актуална
  • Периодично променяйте последователността на критичните таблици
  • Поддръжка на диск
  • Всички системни неща, за да имате разтърсващ сървър


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо не мога да поставя ограничение на nvarchar(max)?

  2. Автоматична корекция на плана в SQL Server

  3. Прекъснато SQL изключение - грешка, свързана с мрежата или специфична за екземпляра

  4. Не може да се АКТУАЛИЗИРА голям размер на изображението, което е ВМЪКНАТО в базата данни в asp.net

  5. 11 начина за връщане на чужди ключове в база данни на SQL Server с помощта на T-SQL