MySQL Table со Столбцом текста

Я перемещался от C# в свою профессиональную карьеру к рассмотрению Ruby и RoR в моей личной жизни, и я нашел, что Linux является немного более привлекательным лично для разработки. Особенно теперь, когда я начал использовать мерзавца, реализация является более чистой на Linux.

В настоящее время я - двойная загрузка и получение ближе к рабочему полному рабочему дню Ubuntu. Я использую gedit с различными плагинами для среды разработки. И по состоянию на конец 2010, я делаю попытку использовать Vim для разработки, даже по Textmate на OS X.

А, которые использует большое количество разработчиков направляющих (задыхаются) Macs, который на самом деле получил меня думающий в том направлении.

, Хотя я не попробовал его, , Ruby в Стали дает Вам IDE Ruby в мире Visual Studio, и , IronRuby является разновидностью.NET Ruby, если Вам интересно.

, Насколько книги затронуты, Ruby Программирования (также известный как Кирка), книга от Прагматически настроенных Программистов является фактическим для изучения Ruby. Я стиснул зубы и купил ту книгу и Гибкая веб-разработка с направляющими ; обе книги были превосходны.

экранные демонстрации Peepcode и книги PDF также были большими для начала работы; на уровне 9$ за экранную демонстрацию трудно пойти не так, как надо. Я на самом деле купил с 5 пакетами.

Также проверяют следующее:

я горел через отставание направляющих и подкастов Зависти направляющих в прошлом месяце, и они обеспечили замечательное понимание большого количества тем, даже относительно разработки программного обеспечения в целом.

6
задан luiscubal 4 December 2009 в 19:52
поделиться

5 ответов

Ага, похоже, вы неверно истолковали значение предложения. В нем говорится, что вы должны делать SELECT, включая поле TEXT, только если вам действительно нужно содержимое этого поля. Это связано с тем, что столбцы TEXT / BLOB могут содержать огромные объемы данных, которые необходимо доставить в ваше приложение - это требует времени и, конечно же, ресурсов.

С наилучшими пожеланиями, В нем говорится, что вы должны делать SELECT, включая поле TEXT, только если вам действительно нужно содержимое этого поля. Это связано с тем, что столбцы TEXT / BLOB могут содержать огромные объемы данных, которые необходимо доставить в ваше приложение - это требует времени и, конечно же, ресурсов.

С наилучшими пожеланиями, В нем говорится, что вы должны делать SELECT, включая поле TEXT, только если вам действительно нужно содержимое этого поля. Это связано с тем, что столбцы TEXT / BLOB могут содержать огромные объемы данных, которые необходимо доставить в ваше приложение - это требует времени и, конечно же, ресурсов.

С наилучшими пожеланиями, Фабиан

6
ответ дан 8 December 2019 в 13:46
поделиться

Вероятно, это преждевременная оптимизация. Настройка производительности MySQL действительно сложна и может быть выполнена только с реальными данными о производительности вашего приложения. Я видел множество попыток догадаться, что делает MySQL медленным без реальных данных, и каждый раз результатом была запутанная схема и сложный код, которые фактически затрудняли настройку производительности в дальнейшем.

Начните с нормализованной простой схемы, затем, когда что-то окажется слишком медленным, добавьте сложность только там, где / если необходимо.

Как отмечали другие, упомянутая вами цитата более применима к результатам запроса, чем определение схемы, в любом случае ваш выбор механизма хранения в любом случае повлияет на действительность рекомендаций.

Если вам действительно нужно добавить сложность перемещения столбцов TEXT / BLOB в отдельную таблицу, то, вероятно, стоит рассмотреть вариант перемещения их вообще из базы данных. Часто файловое хранилище имеет преимущества перед хранилищем базы данных, особенно если вы не выполняете никаких реляционных запросов к содержимому столбца TEXT / BLOB.

По сути, получите некоторые данные, прежде чем принимать какие-либо советы по настройке MySQL из Интернета, включая этот!

Часто файловое хранилище имеет преимущества перед хранилищем базы данных, особенно если вы не выполняете никаких реляционных запросов к содержимому столбца TEXT / BLOB.

По сути, получите некоторые данные, прежде чем принимать какие-либо советы по настройке MySQL из Интернета, включая этот!

Часто файловое хранилище имеет преимущества перед хранилищем базы данных, особенно если вы не выполняете никаких реляционных запросов к содержимому столбца TEXT / BLOB.

По сути, получите некоторые данные, прежде чем принимать какие-либо советы по настройке MySQL из Интернета, включая этот!

5
ответ дан 8 December 2019 в 13:46
поделиться

Могут быть веские причины для отделения текстового поля от определения таблицы. Например, если вы используете ORM, который загружает полную запись, несмотря ни на что, вы можете создать таблицу свойств для хранения текстового поля, чтобы оно не загружалось все время. Однако, если вы контролируете код на 100%, для простоты оставьте поле в таблице, а затем выбирайте его только тогда, когда оно вам нужно, чтобы сократить время передачи данных и чтения.

1
ответ дан 8 December 2019 в 13:46
поделиться

Проблема состоит в том, что большое текстовое поле - например, размером более 8192 байтов - вызовет чрезмерную подкачку страниц и / или файловый ввод-вывод во время сложных запросов к неиндексированным полям. В таких случаях лучше перенести большое поле в другую таблицу и заменить его идентификатором строки или индексом новой таблицы (в этом случае это будут метаданные , поскольку они фактически не содержат данных).

К недостаткам можно отнести: а) Более сложная схема б) Если в большом поле используется проверенный или извлеченный, нет преимущества c) Обеспечение непротиворечивости данных является более сложным и потенциальным источником неисправности базы данных.

1
ответ дан 8 December 2019 в 13:46
поделиться

Данные для столбца TEXT уже хранятся отдельно. Каждый раз, когда вы SELECT * из таблицы с текстовым столбцом (столбцами), каждая строка в наборе результатов требует поиска в области хранения текста. В сочетании с очень реальной возможностью получения огромных объемов данных ваша система будет иметь большие накладные расходы.

Для перемещения столбца в другую таблицу просто требуется дополнительный поиск, один во вторичной таблице, а обычный - в хранилище текста. area.

Единственный раз, когда перемещение столбцов TEXT в другую таблицу принесет какую-либо пользу, - это если есть тенденция обычно выбирать все столбцы из таблиц. Это просто введение второй плохой практики, чтобы компенсировать первую. Само собой разумеется, что две ошибки не то же самое, что три левых .

3
ответ дан 8 December 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: