istORik [Off] [#] (24.10.2011 / 22:25) |
Какие запросы легче и быстрее обрабатываются?
Вариант 1
$ww = mysql_query("SELECT * FROM `tabla` WHERE `name` = '" . $name . "' AND `text` ='".$text."' AND `type` = '1' ");
Или же вариант 2
Вариант 3
Что скажете? Когда базе легче выполнять запросы, когда параметры наиболее определенны или же достаточно выбирать по ид?
Изм. istORik (24.10.2011 / 22:27) [1]
Venom [Off] [#] (24.10.2011 / 23:16) я прыщавы далбаоп ыы |
Сыроежкин [Off] [#] (24.10.2011 / 23:25) |
Но я бросил учица из за любви нещасной.
бозон_хиггса [Off] [#] (25.10.2011 / 17:55) царь есть азмъ!!! |
AlkatraZ (SV!) [Off] [#] (26.10.2011 / 16:26) Уездный предводитель Каманчей |
Это же совершенно разные запросы, зочемъ сравнивать хуй с пальцем?
Для каждого случая свой запрос. Используешь в зависимости от того, что ты хочешь получить от базы.
istORik [Off] [#] (26.10.2011 / 18:25) |
Афтар беспесды жжот!
Это же совершенно разные запросы, зочемъ сравнивать хуй с пальцем?
Для каждого случая свой запрос. Используешь в зависимости от того, что ты хочешь получить от базы.Запросы разные, но результат выйдет один.
Поле нейм оно как ид,то есть 2 раза не повторяется.
Получается что при любом из вышеперечисленных запросов выйдет одно и тоже поле.
Поэтому я и спрашиваю, как лучше для базы, указывать дополнительные параметры поиска или нет, например как в первом запросе, есть дополнительно анд текст.
k_2 [Off] [#] (26.10.2011 / 18:54) |
Запросы разные, но результат выйдет один.
Поле нейм оно как ид,то есть 2 раза не повторяется.
Получается что при любом из вышеперечисленных запросов выйдет одно и тоже поле.
Поэтому я и спрашиваю, Тогда бери 3 вариант, ненужные условия будут только нагружать.
Пример в реале:
Тебе на паре надо найти лекцию в тетради, название известно, известно что повторяющихся названий нет, также известны отдельные слова этой лекции.
Как проще найти? Просто найдя название или ещё помимо найдя все известные слова в ней?
Спрашивается, зачем нам делать лишнюю работу? Также и с б.д.
istORik [Off] [#] (27.10.2011 / 04:28) |
Тогда бери 3 вариант, ненужные условия будут только нагружать.
Пример в реале:
Тебе на паре надо найти лекцию в тетради, название известно, известно что повторяющихся названий нет, также известныВо, исчерпывающий ответ )
Вот это мне и нужно было узнать, просто я думал что если таблица имеет огромный объем данных то включив доп параметры поиска,(например тип) то тогда базе легче.
istORik [Off] [#] (27.10.2011 / 04:30) |
istORik, Вариант 1
<?php
$ww = mysql_query("SELECT * FROM `tabla` WHERE `name` = '" . $name . "' AND `text` ='".$text."' AND `type` = '1' ");
?>
Запрашиваем запись где значение поля name = перемПолучится, например поле нейм имеет запись тест, эта запись больше не повторяется в данном поле, и как бы ты не строил запрос то выйдет один и тот же результат.
k_2 [Off] [#] (27.10.2011 / 06:34) |
Во, исчерпывающий ответ )
Вот это мне и нужно было узнать, просто я думал что если таблица имеет огромный объем данных то включив доп параметры поиска,(например тип) то тогда базе легче.Чем меньше пораметров в запросе, тем меньше нагрузка.
Также надо смотреть какой тип поля, по которому ищеш и является ли он ключём.
В твоём первом примере есть поле text, я так понимаю, что и тип у него текстовый.
Так вот поиск по полю с текстовым типом будет нагружать сильнее чем по имени, а поиск по обоим пораметрам ещё сильнее.
Лучше всего искать по полям id или name_lat.
пример кода из файла авторизации:
`name_lat`='" . functions::rus_lat(mb_strtolower($user_login)) . "'
Изм. k_2 (27.10.2011 / 06:38) [1]
istORik [Off] [#] (27.10.2011 / 07:49) |
Чем меньше пораметров в запросе, тем меньше нагрузка.
Также надо смотреть какой тип поля, по которому ищеш и является ли он ключём.
В твоём первом примере есть поле text, я так понимаю, что и тиХорошо, спасибо за помощь!
Скачать темуНовые вверху