[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Корректный sql-запрос по двум полям двух таблиц
vovan1409
Делаю первые шажки в составлении sql-запросов, вот столкнулся с таким вопросом:
есть таблицы:
Имя(id_name,name)
Человек(id_people,id_name,surname,birthday)
Я делаю поисковое поле(по типу yandex) после первых трех введенных букв начинается поск соответствия в БД
Вопрос в следующем: как на ваш взляд правильнее составлять запрос в БД (где - $queryString - строка полученная из поискового поля; поиск может осуществляться, как по имени, так и по фамилии человека).
1)

"SELECT p1.surname, p1.birthday, p1.peopleid, n1.name FROM people AS p1, name AS n1 WHERE ( p1.surname LIKE '$queryString%' and p1.nameid=n1.nameid) or (n1.name LIKE '$queryString%' and n1.nameid=p1.nameid) ORDER BY p1.surname, n1.name"

2)

"SELECT p1.surname, p1.birthday, p1.peopleid, n1.name FROM people AS p1 INNER JOIN name AS n1 ON ( p1.surname LIKE '$queryString%' and p1.nameid=n1.nameid) or (n1.name LIKE '$queryString%' and n1.nameid=p1.nameid) ORDER BY p1.surname, n1.name"

Как на ваш взгляд правильнее? Есть ли вообще разница между первым и вторым запросом по производительности?
innovate
Цитата
Есть ли вообще разница между первым и вторым запросом по производительности?

Залепи таблицу данными. Выполни запросы и сравнивай скорость. В любом случае лучше, чем 5 дней ждать ответ. wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.