Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> data1/data2/... помогите с выборкой (WHERE), select `n` from `x` where `n`='data4' 
:(
    Опции темы
godsgame
Дата 23.1.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



. (начало в конце стр 1)

 удалите это сообщение пожалуйста.

Это сообщение отредактировал(а) godsgame - 23.1.2007, 14:00
PM MAIL   Вверх
skyboy
Дата 23.1.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(godsgame @  23.1.2007,  12:04 Найти цитируемый пост)
Ну возврат пустого результата тоже требует скнанирования таблицы. 

всего одна лишь запись. загоняется в кеш. какое тут тестирование? все время уходит на проверку запроса на валидность, небось. А два запроса, даже если один будет медленнее другого в 10 раз(0,0001 с против 0,001), ты всё равно не заметишь разницы...
Цитата(godsgame @  23.1.2007,  12:04 Найти цитируемый пост)
А, что из-за того, что там не ИД юзера а просто ник - намного медленней? 

смотря, какая структура таблиц. С моей структурой это будет выглядеть так:
Код

SELECT * 
FROM `xid` 
INNER JOIN `chat` ON `chat`.xid = `xid`.id
WHERE `xid`.`nick` in ('nick1', 'nick2', 'nick3') 

PM MAIL   Вверх
godsgame
Дата 23.1.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



skyboy, 

возникла проблема (вполне обьяснимая)... он не хочет Джоинить, когда в ХИД нету записей (а нету их потому что сообщение адресовано не кому-то а просто) с соответствующим ИД... не подскажешь как исправить?

можно конечно каждый раз делать пустые инсерты (ник=''), но думаю лучше пофиксить запрос:

Код

$query   =  "SELECT *";
$query  .=  " FROM `chat`";
$query  .=  " INNER JOIN `xid`";
$query  .=  " ON `chat`.id = `xid`.id ";
$query  .=  " WHERE ";
$query  .=  " `chat`.`date`>".$per["chat_lupdate"];


пробовал там где ON дописывать OR " `xid`.id = 0 OR `xid`.id = '' " , но не помогло
PM MAIL   Вверх
skyboy
Дата 23.1.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



замени "INNER" на "LEFT"

Добавлено @ 18:47 
нет, на "RIGHT OUTER"

Добавлено @ 18:51 

нет, всё-таки на "LEFT"  smile 

Это сообщение отредактировал(а) skyboy - 23.1.2007, 18:55
PM MAIL   Вверх
godsgame
Дата 23.1.2007, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



skyboy, 

работает!  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.