MySQL - большой запрос против короткого запроса с несколькими if

0

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

1)

SELECT COUNT (*) FROM table WHERE id = '$ id', name= '$ name', owner = '$ owner_id'

а затем на основе, если есть один результат, запись соответствует.

2)

SELECT * FROM table WHERE id = '$ id'

а затем последовательность команд для проверки соответствия результатов.

Теперь очевидно, что во втором решении есть преимущества, так как он позволяет получать точные отчеты об ошибках относительно поля, которое не соответствует... но если это не требуется, что более эффективно, считается лучшей практикой, и есть ли разница в загрузка на сервере mySQL между двумя?

Теги:
performance

3 ответа

2
Лучший ответ

Вариант 1 длинным выстрелом. Пусть SQL делает то, что он предназначен для достижения наилучших результатов, и лучше, чем процедурный код. То есть, фильтрация и сортировка данных.

Кроме того, это гораздо более эффективное использование ресурсов (пропускная способность, использование БД и т.д.), чтобы вытащить только данные, необходимые с сервера.

1

Большой запрос может принимать от 0,1 до 5,1 или более секунд, вам нужно найти, запустить его и найти. Обычно несколько, если лучше, так как PHP очень быстро. Я сделал это, когда я использовал его с 5 соединениями в таблице с 5 миллиардами продуктов, затем я сокращаю одно соединение, а затем использую оператор if, чтобы его исправить. Запрос занимал 4,2 секунды, когда я сокращал соединение, он занимал 3,8 с, но, как вы знаете, PHP работает быстрее.

1

Используйте 1). Mysql очень эффективен при выборе данных на основе определенных условий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню