Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
21 / 21 / 2
Регистрация: 03.09.2014
Сообщений: 39
1

Разница в запросах к бд ?

24.07.2015, 10:18. Показов 901. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите что больше грузит систему ?

такой запрос :

PHP
1
2
3
4
5
mysql_fetch_array(mysql_query("SELECT id FROM account WHERE login = '".$join_login."' AND password = '".$join_password."'"));
 
или такой : 
 
mysql_fetch_array(mysql_query("SELECT id FROM account WHERE login = '".$join_login."'"));
сильно ли нагрузка возрастает ?

или нет разницы в обращение по разным столбцам ?
нужна минимальная нагрузка на серв и на канал !
серв лох полный - корпоративный проект и сеть локальная ... (

никогда не юзали оптимизацию )
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2015, 10:18
Ответы с готовыми решениями:

Разница в запросах mysql и mysqli
Добрый вечер! Помогите разобраться, в чем ошибка? Один запрос написан с помощью mysql, а другой с...

Разница в запросах из C# и IBexpert
Создал приложение записывающее данные приёмки сырья в базу данных. Оформил кучу SQL запросов на...

LIKE в запросах
Добрый вечер.Хочу сделать поиск по серверу,определенных фамилий.Надо сделать,чтобы Like работал...

Вычмсление в запросах
Добрый вечер! Вот код для вычисления возраста: ...

9
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.07.2015, 15:38 2
Ну так посмотрите сами. Откуда мне знать, что у вас за таблица.
MySQL
1
EXPLAIN SELECT id FROM account WHERE login = 'xxxxx' AND password = 'xxxxx';
Затем второй
0
21 / 21 / 2
Регистрация: 03.09.2014
Сообщений: 39
24.07.2015, 18:47  [ТС] 3
да инфу выводит одну и ту же по сути , чисто id пользователя

нагружает ли сервер удлинённый запрос ?

есть ли смысл сокращать название переменных ? с $join_login на $jL
я сократил в принцепи , и весть проект стал легче с 3мб на 1,5мб
по сути nginx быстрей будет загружать и читать *.php

а вот стоит ли сокращать запросы к бд ? с длинного и уточнительного на логический короткий ?
в общем как быстро он скажет ? когда короткий запрос или полный .

ни как не могу найти инфу как вывести время запроса-ответа , и проверить что быстрей ...
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.07.2015, 21:00 4
Еще раз. В одном случае короткий, в другом длинный. результаты эксплейна опубликуйте.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
24.07.2015, 22:09 5
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3.
D. Knuth
0
21 / 21 / 2
Регистрация: 03.09.2014
Сообщений: 39
25.07.2015, 00:16  [ТС] 6
создаю tmp.php
PHP
1
2
3
4
5
6
7
8
<?php header('Content-Type: text/html; charset=utf-8');
 
include_once 'db.php';
CONNECT();
 
echo mysql_query("EXPLAIN SELECT id FROM account WHERE login = 'admin' AND password = 'admin'");
 
?>
ответ в браузере :
HTML5
1
Resource id #4
вроде бы и прочитал
http://www.php.su/mysql/manual/?page=EXPLAIN
и
http://www.php.su/mysql/manual/?page=Query_Speed

а так и не понял ничего , по поводу EXPLAIN , точнее зачем он и как его юзать (
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
25.07.2015, 11:05 7
PHP
1
2
3
4
5
6
7
<?php header('Content-Type: text/html; charset=utf-8');
 
include_once 'db.php';
CONNECT();
 
$r = mysql_query("EXPLAIN SELECT id FROM account WHERE login = 'admin' AND password = 'admin'");
var_dump( mysql_fetch_assoc($r) );
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
25.07.2015, 12:33 8
Rynosce, сильно сомневаюсь, что будет такая большая разница в "стоимости" запроса. Даже если там поля типа TEXT.
З.Ы. Чем что-то извлекать, раз уж так сильно важно оптимизация по максимуму, лучше использовать SELECT COUNT(1) вместо SELECT id (если, конечно, id-шник не требуется в дальнейшем).
А вообще, имхо, лучше прислушайтесь к ответу Jewbacabra и смотрите в других местах.
0
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
25.07.2015, 13:48 9
Чтобы снизить нагрузку при поиске, добавьте индекс по указанным полям:
SQL
1
ALTER TABLE `accounts` ADD INDEX(`login`, `password`)
0
5 / 5 / 3
Регистрация: 21.01.2010
Сообщений: 51
25.07.2015, 23:18 10
Rynosce, Поставьте "LIMIT 1" в конце, будет быстрее
PHP
1
2
3
4
5
6
7
8
<?php header('Content-Type: text/html; charset=utf-8');
 
include_once 'db.php';
CONNECT();
 
$query = "SELECT id FROM account WHERE login = '$join_login' AND password = '$join_password' LIMIT 1";
$r = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
var_dump( mysql_fetch_assoc($r) );
И используйте mysqI или PDO... mysqд устарело
+ индексы, как было сказано выше

Одно сравнение в любом случае будет быстрее, хотя это вряд ли будет заметно. Определитесь нужно ли сравнивать пароль?
0
25.07.2015, 23:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2015, 23:18
Помогаю со студенческими работами здесь

Ошибка в запросах
Есть таблица читателей которые берут книги из библиотеки. нужен запрос, который бы выводил...

Перечисление в запросах
Делаю Отчёт. В запросе к БД необходимо установить отбор по реквизиту Перечисления, но не знаю, как...

iif в запросах
Помогите разобраться, где ошибка. iif(+365*100/&gt;,Сумма амортизационных отчислений за месяц:...

Переменные в запросах
Есть обычный запрос, который выбирает записи из таблицы. Для каждой строки нужно проставить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru