30.12.2000 06:16 Bls
mysql_num_rows(mysql_query("SELECT id FROM table WHERE field LIKE '%$v%'")); ну кто же так делает. есть в sql конструкция count: select count(id) as kolichestvo from table where field LIKE '%$v%' Ответ DL: |
31.12.2000 03:31 Bls
В той конструкции которой пользуешься ты нагружаетя не только память: mysql приходится выполнить выборку всех id удовлетворяющих условию. Потом сохранить их в ожидании пока Вы к ним не обратитесь. (предположим что это 20 целых чисел). В противовес этому при использвании count mysql хранит 1 целое число. Убедил ? :) |
31.12.2000 03:33 Bls
получился разнабой (ты, Вы) надеюсь Вы не в обиде :)) Ответ DL: |
6.1.2001 23:43 Sergey []
Если говорить о поиске, то интересно было бы узнать не о SELECT из БД, а о поиске как таковом. К примеру - если требуется быстро искать на PHP в "куче текстовых файлов", то как это делается (индексация в той же базе и тд) Ответ DL: |
12.1.2001 13:22 Axel []
А почему символы с x7F по xFF стали "ненормальными" ? или неправильно понял смысл функции $search = preg_replace("/[^(w)|(x7F-xFF)|(s)]/", " ", $search); ? Best regards. Ответ DL: |
3.2.2001 02:18 falcon []
Кое что в "обработке строки" все таки не предусмотренно... А именно выход, если были введены одни пробелы. После trim переменная станет равной нулю и mySQL в запросе это не понравится. Ответ DL: |
1.3.2001 18:21 Смоляное Чучелко []
К вопросу о count(id): ежели так уж хочется поэкономить память, можно ведь написать mysql_result($result,0,1) Ответ DL: $r = mysql_query("select id from ... where ..."); $num_rows = mysql_num_rows($r); при большом количестве строк в результате выборки медленнее, чем $r= mysql_query("select count(id) as num_rows from ... where ..."); $num_rows = mysql_fetch_row($r); $num_rows = $num_rows[0]; (можно проверить, выполнив запросы через терминал). |