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

InnoDB има ли статични таблици?

InnoDB има редове с фиксирана ширина и може да има известно предимство да се декларират всички колони в таблица като с фиксирана ширина. Основното предимство е, че всички „дупки“ в една страница могат да се използват повторно за всяко вмъкване, тъй като всички редове са с еднаква дължина. Това прави повторното използване на пространството малко по-ефективно. Не бих се опитал да наложа фиксирана ширина за низове над няколко десетки байта, тъй като разходите за съхраняване на допълнителните данни на страница (и следователно по-малко редове на страница) бързо биха надхвърлили всички спестявания/печалби, които бихте получили от повече ефективно повторно използване на пространството.

Наличието на редове с фиксирана ширина обаче не позволява каквато и да е оптимизация на сканирането на редове (както прави за MyISAM). Съхранението на редове на InnoDB винаги е базирано на страници и използва B+дърво с двойно свързани списъци от страници и единично свързани записи в рамките на една страница. Обхождането на редове винаги използва тези структури и не може да се извърши по друг начин.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Комбиниране на резултатите от обединението в един ред, когато някои колони имат различни стойности

  2. Какъв вид схема мога да използвам за ръчно въвеждане на данни, базирани на дата?

  3. MySQL 5.5 таблица с дялове от A-Z

  4. MySQL се присъединява към една и съща таблица два пъти в една и съща колона с различна стойност, връщаща само последния ред

  5. MySQL върна празен набор от резултати