Backticks заключают литералы шаблонов, p.k.a. Шаблоны. Литералы шаблонов являются строковыми литералами, которые позволяют встроенные выражения и функции интерполяции строк.
Литералы шаблонов имеют выражения, вложенные в заполнители, обозначенные знаком доллара и фигурными скобками вокруг выражения, то есть ${expression}
. Заполнитель / выражения передаются функции. Функция по умолчанию просто конкатенирует строку.
Чтобы избежать обратного хода, поставьте перед ним обратную косую черту:
`\`` === '`'; => true
Используйте обратные элементы для более легкой записи многострочной строки:
console.log(`string text line 1
string text line 2`);
или
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
vs. vanilla JS:
console.log('string text line 1\n' +
'string text line 2');
или
console.log('Fifteen is ' + (a + b) + ' and\nnot ' + (2 * a + b) + '.');
Последовательности выхода:
\u
, например \u00A9
\u{}
, например \u{2F804}
\x
, например \xA9
\
и (a), например \251
mysql_query () передает все записи результатов из MySQL в php pcrocess перед возвратом (в отличие от mysql_unbufferd_query () ). Одно это сделало бы версию mysql_num_rows () медленнее.
Кроме того, для некоторых механизмов (например, MyISAM) MySQL может обслуживать запрос Count (*) из индекса таблицы , не затрагивая фактические данные . С другой стороны, SELECT * FROM foo
приводит к полному сканированию таблицы, и MySQL должен прочитать каждый отдельный набор данных.
Однозначно первый. MySQL обычно может сделать это, посмотрев на индекс, а не на всю таблицу, и если вы используете MyISAM (по умолчанию), количество строк для таблицы сохраняется в метаданных таблицы и будет возвращено мгновенно.
Второй метод не только считывает всю таблицу в память, но и отправляет ее клиенту через сеть до того, как клиент подсчитает строки. Чрезвычайно расточительно!
Я действительно не думаю, что нужно какое-либо тестирование.
Выполнение COUNT в запросе SQL
1) Отправляет только одну строку данных обратно клиенту (вместо каждой строки)
2) Позволяет SQL производить подсчет {{1} } для вас, который, вероятно, всегда будет быстрее, чем PHP.
Я думаю, что count(1)
будет еще быстрее:
$res = mysql_query("SELECT count(1) as `number` FROM `table1`");
$count = mysql_fetch_result($res,0,'number');
Хотя я не пробовал предложенные методы, первый заставляет базу данных извлекать все записи и подсчитывать их в базе данных, второй заставляет базу данных извлекать отдельное поле для всех записей и подсчитывать количество результатов на сервере.
Как правило, чем меньше данных вы получаете для конкретной записи, тем меньше времени это займет, поэтому я бы проголосовал за обновленный первый метод (получение константы для каждой записи и подсчет количества извлекаемых констант).