Кто шарит в sqlite3

Печать RSS
911

Автор
Господин ПЖ
0
можно например сразу поместить все в массив
$arr = $topic->fetchAll();
или как ты хочешь
while($arr = $topic->fetch()...
Автор
Господин ПЖ
0
можно и так
<?php
while ($result->valid()) {
  // fetch current row
  $row = $result->current();
  echo "
 <tr>
  <td>".$row[0]."</td>
  <td>".$row[1]."</td>
 </tr>";
  // proceed to next row
  $result->next();
}
Д

Малиновые штаны
0
29,пиар такой
Автор
Господин ПЖ
0
да они вроде как специально сами так написали

Дух
0
#28, я в sqlite канеш неочень, но с мускулом опыт большой и могу заверить, что код в этом посту - пустая трата ресурсов сервера.
Ты выбираешь все посты из базы, при этом сортируя их в обратном порядке по дате добавления. Затем 1) встроенной функцией склайт узнаешь последний пост, 2) юзаешь numrows для подсчета всего числа сообщений. Все правильно? Теперь смотри. Сообщений в базе может быть тысячи и даже десятки тысяч. Нафига нам все это сортировать? Не проще ли 1) выбираем только интересующий нас пост, 2) юзаем select count(*) для подсчета общего числа постов(для этого создаем отдельную квери)
Таким образом, прогоняем ресурсоемкую квери $allposts только один раз вмесо двух! Да, оно мелочь, но если в скрипте таких моментов десяток или больше, экономия будет исчисляться сотнями милисекунд. Я знаю о чем говорю, когда дело касается БД и быстродействии.

Дух
0
Опыт приходит с практикой smile
Автор
Господин ПЖ
0
Dark_Knight там пример такой, в sqlite можно посчитать через count только так, пример
$ptotal = $db->singleQuery("SELECT count(*) FROM posts WHERE topic_id='".$arr['topic_id']."';");
а в том примере как раз и нужны все сообщения

Дух
0
Проверил ради интереса оба способа.
Скрипт (там много всего так что сами цифры не важны, только разница)
Без этих запросов: 0.009
С вариантом #28: 0.0185
С вариантом #35: 0.0290
комментарии излишни smile
чем больше бд тем больше будет разница
Автор
Господин ПЖ
0
rаmzes ну по идее да, так как в моем примере только одно подключение, а 35 предлагает 2 подключения
вы свои примеры приведите

Дух
0
Да мне вобщем то и приводить не чего. Я только учусь по немногу. Вот нашел, пытаюсь понять. Ускорение записи в бд. Очень существенное. Но сам не пробывал. Судя по тестам мускул проигрывает последний рубеж. smile
http://habrahabr.ru/blogs/webdev/42121/
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск