Сортировка по 2м параметрам

casinolot

Гуру форума
Регистрация
21 Окт 2010
Сообщения
547
Реакции
87
Ситуация.
Есть 5 таблиц.
2 таблицы это сообщения . 1 таблица сообщения с отдельной колонкой дата и колонкой время, это сообщения клиента.
2ая таблица сообщения также с отдельной колонко дата и время, это сообщения продавца
Т.е в одной хранятся сообщения клиента, в другой продавца.
Я делаю выборку с помощью UNION


1ый. Кто подскажет может их лучше совместить в одну таблицу. если разница в скорости выполнения у mySQL , если запрос к одной таблице ,или 2 к двум, если обьем данных одинаковый
2ой вопрос важный, как сделть сортировку по времени и дате, т.к. у меня в 2 столбца.
Делать DATETIME столбец ,не предлогать. :)
 
1. зачем 2 таблицы для практически одной и той же задачи ? проще и правильнее добавить user id
2. order by date, time
 
1. зачем 2 таблицы для практически одной и той же задачи ? проще и правильнее добавить user id
2. order by date, time
1.А как тогда разграничить, где клиент и покупатель
ведь по одному id может существовать и клиент и покупатель.
к примеру клиент=1 и покупатель=1 как понять чье сообщение, нужно добавлять столбец ТИП отправителя.
И что лучше в плане производительности и устойчивости ,для этого случая
 
1.А как тогда разграничить, где клиент и покупатель
ведь по одному id может существовать и клиент и покупатель.
к примеру клиент=1 и покупатель=1 как понять чье сообщение, нужно добавлять столбец ТИП отправителя.
мне организация вашей базы непонятна - вам виднее что там и как :)
насчет колонки ТИП отправителя - я примерно это и имел в виду [т.е. колонку, по которой можно определять тип собещния]

И что лучше в плане производительности и устойчивости ,для этого случая
иногда принципиальной разницы нет (опять же я не знаю внутренне устройство вашей базы и логику ее связей), но как правило - одна таблица лучше двух.
тем более если надо извлекать историю сообщений между покупателем и продавцом (если из одной таблицы - то одним запросом из "одного файла"(данные+индексы) )
 
Добавь колонку type.
И вставляй туда либо admin либо user. Так ты сможешь объединить 2 таблицы
Что касается даты и времени - создай одну колонку INT(11) и вставляй в формате date("U").
Потом если тебе надо достать время date("H:i", сюда значение колонки)....
 
я, кажется :) , понял смысл 2-х таблиц: покупатель и продавец имеют один и тот же id, но их сообщения в разных таблицах, потом складываются эти две таблицы, сортируются по дате и получается их упорядоченный диалог
1. => оставляй как есть (и когда делаешь выборку с помощью UNION лучше используй UNION ALL - это даст хороший плюс в скорости)
2. order by date, time (конечно только если date, time не текст:)
 
Назад
Сверху