Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск по 1 млн. записей
Форумы портала PHP.SU » » Вопросы новичков » Поиск по 1 млн. записей

Страниц (1): [1]
 

1. event - 05 Февраля, 2015 - 04:04:28 - перейти к сообщению
Привет.
Такой вопрос, как сделать быстрый поиск по 1 млн. записей в базе mysql? А то ищет очень долго...

Поиск делаю так:

PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("SELECT id, name FROM texts WHERE categoryid = ". $categoryid . " LIMIT 100") or sqlerr(__FILE__, __LINE__, $mysqli->error);
  2.  
  3. while($row = $result->fetch_array()) {
  4.          
  5.                  echo "<li>- <a href=\"articles.php?categoryid=" . $row['id'] . "\">" . $row['name'] . "</a></li>";
  6.                  
  7. }


Всегда ищет по categoryid, там всегда число (id категории).

Заранее спасибо.
2. LIME - 05 Февраля, 2015 - 06:54:46 - перейти к сообщению
Проверь стоит ли индекс на поле
хотя ты наверное об этом знаешь
если индекс не помогает подумайте о горизонтальном шардировании
3. event - 05 Февраля, 2015 - 12:43:17 - перейти к сообщению
LIME, можно подробнее?
4. LIME - 05 Февраля, 2015 - 13:21:06 - перейти к сообщению
не надо подробнее не по делу тут это
индекс поставь и всё
5. RickMan - 05 Февраля, 2015 - 13:32:48 - перейти к сообщению
6. event - 06 Февраля, 2015 - 15:36:07 - перейти к сообщению
LIME, спасибо, индекс сделал, все стало лучше, но все равно медленно. Как можно еще ускорить это дело?


 

Powered by ExBB FM 1.0 RC1