|
|
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
Доброе время суток. Подскажите пожалуйста советом. Имеется таблица tbl_cross_message это личные сообщения и таблица tbl_users. В таблице tbl_cross_message имеются колонки id_user_from и id_user_to это отправитель и получатель. Мне необходимо выводить на страницу уникальных пользователей с этих колонок. Типа как в контакте организованы диалоги. Вот такая архитектура. Запрос я создал, на первый взгляд работает, но смущает его оптимальность. Посмотрите пожалуйста Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 22:30:02 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
Сразу - коли UNION, то DISTINCT-ы можешь смело убирать. Далее - а что если Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ? Ну и Код: sql 1. замени на реальн нужный список полей... кстати, если он невелик, то можно вообще уложиться в индекс и не трогать таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 22:39:19 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
AkinaСразу - коли UNION, то DISTINCT-ы можешь смело убирать. Далее - а что если Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ? Спасибо, а чем лучше ваш запрос? В чем выигрыш? Насчет звездочки в SELECT, я специально для форума поставил, чтоб не нагружать бесполезными данными. А так я всегда прописываю необходимые колонки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 19:57:24 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Получился вот такой запрос, подскажите пожалуйста, а если мне нужно еще подключить id_message это сообщение из таблицы tbl_cross_message к каждому уникальному пользователю. т.е. вывести последнее сообщение к каждому диалогу. Чет не могу придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 21:09:14 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
ldarа чем лучше ваш запрос? В чем выигрыш? Ну, например, тем, что может использовать индекс... в отличие от Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 21:52:46 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
ldarа если мне нужно еще подключить id_message это сообщение из таблицы tbl_cross_message к каждому уникальному пользователю. т.е. вывести последнее сообщение к каждому диалогу.Тогда выделяй именно диалоги (пара ИДов), а далее - в ФАК по выбору первого/последнего в группе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 21:54:45 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
Akina, Посмотрите пожалуйста профессиональным взглядом на мой получившийся запрос, чет сомнения у меня в оптимальности Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 20:41:14 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
http://dev.mysql.com/doc/refman/5.5/en/explain.html http://dev.mysql.com/doc/refman/5.5/en/explain-output.html http://dev.mysql.com/doc/refman/5.5/en/explain-extended.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 21:42:31 |
|
||
|
Уникальность по двум полям
|
|||
|---|---|---|---|
|
#18+
Akina, спасибо. Я не правильно выразился, имел ввиду логически или синтаксически правильно составил запрос? Еще раз извиняюсь за глупые вопросы, просто на пороге познания mysql и много неуверенности в своих действиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 21:50:38 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=211&tid=1836163]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 366ms |

| 0 / 0 |
