![]() |
MYSQL GROUP BY
Мне нужно то, что спрашивается здесь:
http://www.sql.ru/forum/actualthread...&tid=66341&hl= Действительно до версии 4.1 этого не реализовать? А когда версия 4.1 выйдет? |
Цитата:
|
вообще если провести нормализацию 4уровня, то эта проблема должна отпасть.
т.е. будет что-то вроде: userTable(uid, uname) 1 vasya 2 grisha posTable(pid, ptitle) 1 pos1 2 pos2 3 pos3 user_posTable(uid, pid) <-- псевдо foreign keys(т.к. в мускуле со внешними ключами тоже через одно место, особнно в версии 3.23.x). 1 1 2 1 1 2 select uid from user_posTable where pid = 'pos1' если надо подцепить данные со связных таблиц, то замечательно через join. |
Цитата:
|
RaZEr
Но хостеры версию 4.1 так и не поставили, говорят она в альфа стадии.. |
а чего подробнее? в 3.23.x для этого нужно заводить таблицы, типа innoDB, а это:
1. намного менее производительное решение, особенно на больших таблицах. 2. иногда просто невозможно использовать их из-за хостинга. и по-моему(но это я точно уже не вспомню), что-то из actions при delete|update не поддерживается в 3.23.x, хотя вот тут не ручаюсь. p.s. большая таблица, это скажем несколько миллионов записей и несколько сотен мегабайт. попробуй запустить агрегат на такой таблице... |
Цитата:
|
я ж написал, использовать псевдо-ключи, т.е. взять обработку ключей на себя(прямо в программе).
допустим у нас есть pk - x_id(auto_increment) во всех остальных таблицах это будет обычное поле x_id, только обрабатывать constrants нужно будет в ручную, т.е. все update|delete и ограничения(запрет дублирования например) нужно будет реализовать в скрипте. я уже давно так делаю... |
Цитата:
|
ну в принципе каждый выбирает сам. вот пример из сегодняшнего буквально дня:
есть таблицы: Код:
#как нетрудно догадаться - это обычная авторизация(груп пока нету). вот тут было бы идеально использовать FK, но к сожалению на хостинге я не могу создавать таблицы InnoDB. получается настоящий гемор. приведу пример обновления настроек доступа для пользователя: Код:
class Permissionесли бы было каскадное удаление, то достаточно было бы дернуть мастер-таблицу и все. также нету транзакций. |
Вообще-то я тоже все ключи обрабатываю сам (если это кому-то интересно :) ), хотя конечнобыло бы приятнее возложить это на БД....
|
| Часовой пояс GMT +4, время: 19:25. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.