Я пытаюсь ВЫБРАТЬ идентификатор, описание, заголовок ИЗ table1, table2, table100
Скажем, у меня это работает, мне лучше просто объединить все мои таблицы в phpmyadmin?
Проблема в том, что у меня есть около 100 таблиц разных категорий книг, поэтому я хочу, чтобы они были разделены на отдельные таблицы.
Я пытаюсь создать поисковую систему, которая выполняет поиск по всем книгам во всей базе данных. Все таблицы имеют одинаковые имена столбцов.
Так что на самом деле все, что я действительно пытаюсь сделать, это искать во всей таблице базы данных идентификатор, описание, заголовок. Мой поиск работает, просто я могу искать только в одной таблице, и каждое решение в Интернете, которое я нашел, действительно эффективно работает только с двумя или тремя таблицами.
Заранее спасибо.
Да, вы правы, в этом есть смысл, спасибо.
Нашел этот ответ stackoverflow.com/questions/14931001/…
спасибо, это решение, которое я пробовал, но после завершения я обнаружил, что оно зависло вокруг третьей таблицы, поэтому я подумал, что будет лучше в виде одной таблицы, поэтому категоризация таблиц в одну имеет большой смысл. мой дизайн - это проблема, поэтому я начну снова.






Лучше всего переделать вашу базу данных, все в единую таблицу с дополнительным столбцом «категории».
тем временем вы можете создать представление, объединяющее таблицы с дополнительным столбцом для категории.
Я рекомендую сохранить одну таблицу A с идентификатором, описанием, заголовком, категорией и создать другую таблицу B с категориями. Таблица A должна иметь внешний ключ с категориями таблиц. Затем создайте запрос для получения книг с определенной категорией.
Пример:
SELECT id, description, title, category FROM books WHERE category = "drama"
Я думаю, что это говорит о самом дизайне базы данных, о чем многие здесь упоминают. У вас есть несколько вариантов в зависимости от того, сколько времени у вас на руках:
(Краткосрочное / быстрое исправление) Центральная таблица со всеми вашими текущими полями плюс категория в качестве флага, чтобы различать текущие таблицы, которые у вас есть. Таким образом, ваша вставка будет выглядеть примерно так: «INSERT INTO newtable (ID, AssetID, ServiceID, Category) SELECT id, description, title, 'Fiction' FROM table1;»
Если ваши таблицы инкрементно именуются как table1, table2 до table100, вы могли бы написать быстрый php-скрипт, который будет выполнять итерацию цикла вставки, увеличивая таблицу на каждой итерации до последней таблицы.
В конечном итоге вы можете инвестировать в json-поле, которое будет содержать все ваши другие данные, за исключением ключей, относящихся к одной записи.
Я рекомендую переделать модель и унифицировать эти 100 таблиц до 1 и добавить новый столбец с категорией, но с целочисленным значением, а не с строковым значением. Таким образом, вы можете проиндексировать столбец категории с другими полями (идентификатор, описание, заголовок) для ускорения запроса. Это решение проще, чтобы избежать боли в дальнейшем.
Думаю, у тебя плохой дизайн. Поместите их все в одну таблицу и добавьте новый столбец с именем
category. Ваша жизнь станет проще.