X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вывод данных сразу из нескольких таблиц БД
karamba666
karamba666
Topic Starter сообщение 22.10.2016, 13:27; Ответить: karamba666
Сообщение #1


У меня на сайте имеются разделы. Их около 7 (Анекдоты, картинки, загадки и тд.)
Таблицы под каждый раздел немного отличаются друг от друга, немного)

Я решил на главной странице сделать так, чтобы выводились последние материалы из ВСЕХ 7-ми таблиц.

Подскажите, как лучше быть?
1. Создать 1 таблицу, и впихнуть туда 7 мелких? Чтобы была каша? Но зато для вывода потребовалась бы 1 несложный запрос?
2. Либо же оставить эти 7 таблиц по отдельности, и как-то одним запросом выводить материалы сразу из 7 таблиц?

Если выбирать второй вариант, то вот как я соединяю таблицы:
mysql_query("SELECT id FROM joke UNION SELECT id FROM zagadki");


Вроде работает, но мне сказали что лучше избегать JOIN-ы, а UNION это походу тоже самое что и джоин?

Возможно в моём случае джоин не так страшен, так как нет никакой связи между строками первой таблицы и второй в виде tb1.id = tb2.user_id

Кто что может сказать? Как мне лучше поступить? И второй вариант будет ли ложить БД, если нужно селектить 7 таблиц? Либо же всё запихать в 1 таблицу, и делать 1 селект запрос без джоинов?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 29.10.2016, 18:08; Ответить: Art Lev
Сообщение #2


Я бы использовал SQLite. Не будет ничего падать, вы же берете не тысячи строк, а всего несколько. Пробуйте
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 31.10.2016, 11:21; Ответить: Degradator
Сообщение #3


Подскажите, как лучше быть?
1. Создать 1 таблицу, и впихнуть туда 7 мелких? Чтобы была каша? Но зато для вывода потребовалась бы 1 несложный запрос?
2. Либо же оставить эти 7 таблиц по отдельности, и как-то одним запросом выводить материалы сразу из 7 таблиц?

У меня в прошлом была примерно такая ситуация, когда примерно одни и теже данные лежали в разных таблицах, и чтобы их все заджойнить, надо было делать пачку запросов через union, и это было дичайше неудобно. Если есть возможность (я уверен что она есть) переделать стуктуру данных в одну таблицу, то лучше переделай в одну. Проставь где надо индексы и запросы не будут медленными даже на больших объемах данных. Чтобы пихнуть все в одну таблицу, обычно создается дополнительное поле, которое определяет тип хранимых данных, в твоем случае я бы порекомендовал enum.
Кто что может сказать? Как мне лучше поступить? И второй вариант будет ли ложить БД, если нужно селектить 7 таблиц? Либо же всё запихать в 1 таблицу, и делать 1 селект запрос без джоинов?

Оба запроса будут не в состоянии положить базу.
Я бы использовал SQLite. Не будет ничего падать

Не могу припомнить случая падения MySQL.
вы же берете не тысячи строк, а всего несколько

Не использовал SQL lite, но судя по его запросу он будет вытаскивать все идентификаторы. MySQL сделает это максимально быстро, поскольку хранит кластеризованные ключи отдельно от таблцы, а вот как в этом случае сработает SQL lite, понятия не имею.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
14 yaroslav89 6628 13.3.2024, 23:16
автор: spoyer_ru
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97665 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3801 9.2.2024, 16:04
автор: baza0013
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыEdu-Money - партнерка под студентческий траф: 55% за новый заказ, 20% ребилл (сразу).
180 EduMoney 73185 28.12.2023, 17:51
автор: EduMoney
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin


 



RSS Текстовая версия Сейчас: 29.3.2024, 4:51
Дизайн