Дерекқор жады қалай бөлінеді?

Егер әрдайым қажет емес өрістерді жария етсем, әр жазба үшін бөлінген жады немесе өріс бапталғанға дейін жадты бөлмей ме?

Мысал: id өрісі және кесте (8) өрісі бар кестені жарияласаңыз, идентификатор генерацияланған және кестеге енгізілген сайын жолға бөлінген жады бар ма немесе жолға мән берілсе ғана бөлінеді ме?

2
«жол» - жарамды деректер түрі емес. Бұл өрістің нақты деректер түрі қандай?
қосылды автор Joe Stefanelli, көзі

2 жауаптар

Дерекқор сандық өрістер және char (n) сияқты түрінің өлшемі өзгермейтін өрістер үшін жинақталған жадты бөледі. Бірақ varchar (n) (айнымалы ұзындығы) өрістерінде, мысалы, оларда қамтылған деректер сияқты үлкен болады.

Сіздің мысалыңызда char (8) өрісінің түрі барлық 8 таңбалар үшін жадты бөледі. Егер сіз өріс түрі varchar (немесе nvarchar) жасасаңыз, онда ол оған тағайындалған кеңістік ғана бөлінеді.

Mysql жолының түрлері туралы қосымша ақпаратты мұнда қараңыз.

2
қосылды

Қысқаша жауап: Ол әрдайым еске алады (немесе қатты орын).

Егер өріс char (8) болса, ол әрдайым 8 байтты бөледі (дерекқордың тақырыбы үшін алдыңғы 2 байт). Егер бос вархар болса (34), онда ол ең аз орын 2 болады.

2
қосылды