Чи крапка ефективніша, ніж варшар для даних, які можуть мати будь-який розмір?


9

Під час створення бази даних я хочу використовувати найбільш ефективний тип даних для потенційно досить довгих даних. Наразі мій проект полягає у збереженні назв пісень та думок, що стосуються цієї пісні. Деякі заголовки можуть містити 5 символів або більше 100 символів, і думки можуть тривати досить довго.

Чи ефективніше використовувати варчар, встановлений на 8000, або використовувати кров? Чи використовує блоб те саме, що і варчар, якщо в ньому встановлений розмір, який він розподіляється незалежно від того, що він містить? чи це просто вказівник, і він насправді не використовує багато місця на столі? Чи є певний набір розміру краплі в КБ або він розширюється?

Відповіді:


12

Я б запропонував використовувати TEXT через BLOB.

Первинна різниця

  • TEXT і BLOB зберігаються поза таблицею, а таблиця має лише вказівник на місце фактичного зберігання.

  • VARCHAR зберігається в рядку з таблицею.

Первинна настанова

  1. Повідомлення у форматі тексту майже завжди повинні зберігатися як TEXT (вони в кінцевому підсумку є довільно довгими)

  2. Атрибути рядків повинні зберігатися як VARCHAR (ім'я користувача призначення, тема тощо).


Щоб вибрати, коли використовувати VARCHAR і коли використовувати TEXT, багато обговорювалося про переповнення стека в цих потоках:

  1. MySQL: Великий VARCHAR проти ТЕКСТУ?

  2. MySQL varchar (2000) проти тексту?

На цьому форумі також існує нитка порівняння продуктивності .


Дякую за ці посилання. Вони відповіли на деякі питання, які у мене виникли, і я в кінцевому підсумку використовував ТЕКСТ. Це було не саме те, що я шукав, що стосується фізичного простору, який він займає на сервері, але я гадаю, що поки це буде лише невеликий проект, це не має значення. Пізніше, якщо я почну займатися більшими проектами, мені потрібно буде з'ясувати.
BillyNair

0

Я думаю, ви повинні використовувати blob лише у тому випадку, якщо у вас складний тип даних серіалізований, тобто якщо ви хочете зберегти в одній таблиці складний клас. Якщо ви хочете зберегти лише рядок (або щось подібне), не використовуйте blob.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.