например? через foreach?Через Redis
много кто не любит подготовленные запросы (взять тот же пдо клас в роторе)ротор было дело и БД не любил
Написал: Артур 09.01.2016 / 22:42
например? через foreach?Через Redis
много кто не любит подготовленные запросы (взять тот же пдо клас в роторе)ротор было дело и БД не любил
Башка (Сегодня / 22:22)например? через foreach? тут не в экономии дело. много кто не любит подготовленные запросы (взять тот же пдо клас в роторе) а $db->query('sql', ['params']) как то лаконичние вашего выше
Экономия через кэширование гораздо более эффективный способ повышения производительности, чем подобные рекомендации ;)
Писать не многим больше, достаточно обернуть стандартный класс mysqli и поправить семантику на подходящую.
Каждый подготавливаемый запрос использует ресурсы сервера. Если запрос больше не нужен, его необходимо сразу закрыть. Если не сделать этого явно, запрос закроется сам, но только когда PHP освободит его дескриптор, как правило это происходит при выходе запроса из области видимости или при завершении работы скрипта.
Использование подготавливаемых запросов не всегда приводит к повышению эффективности. Если параметризованный запрос запускается лишь раз, это приводит к большему количеству клиент-серверных обменов данными, нежели при выполнении простого запроса. Именно по этой причине в примере выше выражение SELECT выполнялось, как обычный запрос.
Также, имеет смысл рассмотреть SQL синтаксис вставки множества значений в выражении INSERT. В примере выше мультивставка (значения для вставки перечисляются через запятую) в предложении INSERT обошлась бы дешевле, чем подготовленный запрос.
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $select = $mysqli->prepare("SELECT * FROM users WHERE login=?"); $select->bind_param("s", 'admin'); $result = $select->fetch();