SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 19.02.2011 22:53:16

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

рекомендаций куча, а помощи никакой... помогите плиз запрос переделать, кто знает как...

Неактивен

 

#27 21.02.2011 11:44:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите подкорректоровать запрос

Так уже лучше. Мне категорически не нравится ALL в messages. Есть ли у Вас индекс на
id_otp / id_pol? Правильно ли Вы указали id?

Неактивен

 

#28 22.02.2011 00:19:06

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

paulus написал:

Так уже лучше. Мне категорически не нравится ALL в messages. Есть ли у Вас индекс на
id_otp / id_pol? Правильно ли Вы указали id?

переменный id_otp / id_pol вроде бы правильно подставил, а вот что такое индекс, я догадываюсь, но могу ошибаться... smile если я правильно думаю то он не установлен... подскажите как проверить?

Неактивен

 

#29 22.02.2011 00:24:02

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

p.s. PRIMARY, UNIQUE, и INDEX - это индексы насколько я понимаю...
при создании таблицы на id_otp / id_pol я точно не устанавливал.
нужно какой то установить?

Неактивен

 

#30 22.02.2011 15:34:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите подкорректоровать запрос

Что-нибудь вида ALTER TABLE messages ADD INDEX (id_pol, id) попробуйте.

Неактивен

 

#31 22.02.2011 15:51:47

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

paulus написал:

Что-нибудь вида ALTER TABLE messages ADD INDEX (id_pol, id) попробуйте.

я понимаю что для вас это азы, но моих знаний не хватает понять как применить вышенаписанное, можно подробнее... пожалуйста...

Неактивен

 

#32 22.02.2011 16:39:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите подкорректоровать запрос

Этот запрос надо выполнить. Эээ... скопировать и вставить в подключенный к базе
клиент, который умеет выполнять запросы. Например, в mysql.

Неактивен

 

#33 22.02.2011 20:35:33

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

я вставил запрос "ALTER TABLE messages ADD INDEX (id_pol, id);" в Query Browser... в самом внизу выдает сообщение "6 rows affected by the last command, no resultset returned"

Неактивен

 

#34 23.02.2011 01:12:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите подкорректоровать запрос

Замечательно, индекс создался smile Теперь Ваши 6 сообщений будут доставаться
по индексу smile

Неактивен

 

#35 23.02.2011 04:17:10

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: Помогите подкорректоровать запрос

paulus написал:

Замечательно, индекс создался smile Теперь Ваши 6 сообщений будут доставаться
по индексу smile

paulus, к сожалению не замечательно, выбирает так же неправильно как и было...


я помоему нашел ошибку, все оказалось проше

вот старый запрос:
$result5 = mysql_query("SELECT u.*, m.* FROM users u JOIN (SELECT * FROM messages WHERE id_pol = '$id' AND id_otp = '$users' AND del_otp='0' OR id_otp = '$id' AND id_pol = '$users' AND del_pol='0' ORDER BY id DESC) m ON u.id = m.id_otp",$db);

а вот переделанный:
$result5 = mysql_query("SELECT u.*, m.* FROM users u JOIN (SELECT * FROM messages WHERE id_pol = '$id' AND id_otp = '$users' AND del_otp='0' OR id_otp = '$id' AND id_pol = '$users' AND del_pol='0') m ON u.id = m.id_otp ORDER BY m.id DESC",$db);

я переставил просто ORDER BY id DESC в другое место и добавил к id m (ORDER BY m.id DESC)

я еще потестирую конечно, но вроде работаетsmile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson