Назад | Перейти на главную страницу

Мне нужен совет по поисковой таблице MySQL

У меня есть база данных MySQL примерно с 200 таблицами. 50 из них представляют собой небольшие таблицы поиска «id-data» с двумя полями. Некоторые из этих БД размещены на общем сервере. Мне сообщили, что мне нужно уменьшить общее количество таблиц в среде общего хостинга из-за проблем с производительностью, связанных со слишком большим количеством таблиц.

Мой вопрос: можно ли объединить 50 таблиц поиска с двумя полями в одну таблицу с тремя полями с полями id-field_name-data? Даже если это удастся сделать, мне придется много поработать над пользовательским приложением PHP. Другой вариант - переместить БД на выделенный сервер с гораздо более высокой стоимостью хостинга.

Я не верю, что мои 200 таблиц БД действительно вызывают какие-либо проблемы с производительностью на этом сервере общего хостинга, по крайней мере, с точки зрения пользовательского приложения. Никогда не может быть объединено более 10 таких таблиц в одном запросе; хотя я видел очень медленные запросы, генерируемые phpmyadmin в этих БД.

Вы можете использовать подход "id-field-data" при следующих условиях:

1- Ваши таблицы не содержат слишком много записей. Так что финальный стол НЕ будет слишком огромным.

2- Создание индекса на field поле, чтобы ускорить поиск.

3- Изменить ваш PHP-код несложно, и вы можете сделать это управляемым способом, чтобы не сломать его.

4- Создание еще одной копии вашего кода / таблиц, и когда вы закончите, вы можете удалить ненужные таблицы / код.