|
|
|||||
"simple"
|
MySQL: char и text
У меня вот такой вопрос возник...
По MySQL... Например, мне нужно в таблице базы данных текстовое поле, котрое превышает размером char, но намного меньше максимального размера text... если я, например, буду в text пихать максимум по 1000-5000 символов, будет ли это затормаживать работу БД или каким-либо другим образом влиять на неё? спасибо... |
|
|||||
Ветеран форума
|
очень сомневаюсь...
__________________
... |
|
|||||
"simple"
|
лююююдии....
|
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Использование типа text будет тормозить процесс поиска. Если для тебя это окажется принципиальным (в чем лично я сомневаюсь) -- вынеси text-поля в отдельную таблицу.
Это особенно выгодно, если ты считываешь зараз лишь небольшое число text-полей из базы с большитм количеством записей и выборка производится по достаточно сложным выражениям в where. Если же у тебя основная операция -- выборка по первичному ключу или, наоборот, выборка всех записей, то это никакого эффекта не даст и лучше оставить все как есть. Кстати, часто хорошим решением является использование нескольких char'овых полей для хранения одного значения, порезанного на куски ("вечная память 3НФ"). Это тоже имеет свои плюсы и минусы и нужно экспериментально проверять, чтор в большей степени скажется в твоем случае.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
"simple"
|
2Crazy
В моём конкретном случае мне нуно хранить краткое описание раздела сайта... если text, то полная свобода (но много свободного места в ячейке)... если char, придётся немного укоротить текст... что лучше использовать: text или char ??? |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Ты не сказал самого главного: как ты будешь работать с этой таблицей. Какие запросы строить?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
"simple"
|
Короче такая фигня:
у мя на сайте разделы сайта (их названия, описания, ключевые слова и т.д., родительский раздел) будут в БД ну вот, соответственно при выборе люього раздела сайта пользователь переходит на страницу показа раздела (общую для всех разделов), с передачей ей некоторой переменной, чтоб эта страница, показала именно этот раздел(выбранный юзверем): т.е. его подразделы и краткое описание... |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Насколько я понял, длинный текст ты извлекаешь только для текущего раздела. Это один запрос. И уже другмим запросом ты извлекаешь несколько записей с описанием вложенных разделов.
Разумно разделить информацию на две таблицы: в одной будут храниться только описания в text'е (ключ -- код раздела), а в другой -- информация о дочерних разделах (индексируется по коду родительского раздела).
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
"simple"
|
Т.е. нуно всю инфу кроме описания о разделе - в одну таблицу
описание - в другую? В таком случае на скорость влиять не будет, так? |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Именно. Точнее, будет. Теоретически. На практике эта разница будет практически неизмерима.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
Часовой пояс GMT +4, время: 14:34. |
|
« Предыдущая тема | Следующая тема » |
|
|