Intereting Posts
Как обновить SimplePie Мне нужно создать форму поиска, которая будет отображать результаты поиска из определенной категории Страница корзины Woocommerce – добавьте «бесплатно» на ярлык доставки при отправке 0 php загружает другую структуру, чем исходный код Как получить имя блога при использовании WordPress Multisite Неопределенное смещение: 0 Создание страницы параметров темы? Отображение значения атрибута отдельного продукта на странице магазина (Woocommerce) Конфликт между wp_list_pages и get_posts – страницы списков, не отображающие Как использовать WP_Customize_Control за пределами Customizer? Показывать все данные в таблице базы данных и превращать их в интерактивную таблицу Использование ссылок на изображения в меню навигации WordPress вместо текстовых ссылок ОГРАНИЧИТЬ РЕДАКТИРОВАНИЕ файлов PHP? Как исправить пустую проблему панели управления в WordPress? получить название / название персонализированного типа

Когда использовать пользовательские таблицы таблиц или add_option?

У меня есть довольно прямой вопрос. Когда становится слишком много данных для использования add_option, update_option и т. Д., А вместо этого используется таблица пользовательских БД?

Например, если плагин хранит тысячи и тысячи символов данных с помощью add_option и т. Д., Существует ли максимум, который он может обрабатывать до того, как он начнет создавать проблемы?

Мой плагин использовался для создания собственной таблицы БД, но он создал много проблем, в которых некоторые настройки пользователей не работали (особенно на серверах на базе Microsoft на базе Microsoft), и многие другие пользователи почувствовали необходимость связаться со мной и посоветовать мне вместо использования add_option. Я последовал их рекомендациям, и теперь плагин использует эти функции.

Тем не менее, я прошел долгий путь в своих способностях кодирования с тех пор и в свою очередь начал перепроектировать плагин. Теперь у него гораздо больше данных, которые нужно сохранить с помощью add_option. Даже до более чем 10000 + персонажей стоит, и я начинаю задаваться вопросом, не вызовет ли это каких-либо проблем.

Solutions Collecting From Web of "Когда использовать пользовательские таблицы таблиц или add_option?"

Для записи я никогда не буду рекомендовать разработчикам использовать пользовательские таблицы базы данных. Да, они просты в использовании, но вы теряете 100% абстракции данных, предоставляемой WordPress.

add_option() / update_option() / get_option() – базовые функции значения ключа. Они хранят данные в поле MySQL LONGTEXT. LONGTEXT может хранить более 4 миллионов символов … так что опция 10000+ символов определенно возможна.

Иногда настраиваемые таблицы базы данных неизбежны. Если у вас есть тип данных (например, «задания») со многими различными свойствами, и вы ожидаете, что вам придется выполнять сложные фильтры по этим данным (например, «показать мне все задания в Мэриленде, которым требуется <5 лет опыта и заплатить более $ 80 тыс. и использовать либо навыки программирования, либо дизайн »), почти невозможно масштабировать до миллионов строк без правильно индексируемой таблицы.

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

В зависимости от типа данных вы можете рассмотреть возможность регистрации настраиваемого типа сообщений. Вот хороший учебник: http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress . CPT работают очень хорошо, чтобы хранить довольно большие объемы данных, которые являются более или менее пост-подобными в структуре (не слишком много разных метаданных, не требуют логики отношений между позициями). Это в некотором роде лучшее из обоих миров: вы получаете возможность делать довольно сложные запросы, как вы делали бы в пользовательской таблице (через WP_Query), в то же время получая преимущество «абстракции данных» WP, поскольку @EAMann предлагает ,