ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

select при 100.000 строк в таблице.
  #1  
Старый 10.04.2009, 16:50
Аватар для rcc0023
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
Провел на форуме:
644324

Репутация: 11
По умолчанию select при 100.000 строк в таблице.

Можно каким нибудь хитроумным запросом брать из такой таблицы со скоростью, как при запросе в маленькую таблицу?
 
Ответить с цитированием

  #2  
Старый 10.04.2009, 16:56
Аватар для rcc0023
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
Провел на форуме:
644324

Репутация: 11
По умолчанию

То есть есть большая таблица, 100.000 строк. Определенные записи запросом:
$q=mysql_fetch_array(mysql_query('SELECT * FROM '.$table.' WHERE user_id='.$g['user_id'].' LIMIT 1'));
грузятся очень долго...
 
Ответить с цитированием

  #3  
Старый 10.04.2009, 17:16
Аватар для Forcer
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

таблица проиндексирована?
 
Ответить с цитированием

  #4  
Старый 10.04.2009, 17:25
Аватар для rcc0023
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
Провел на форуме:
644324

Репутация: 11
По умолчанию

да!
 
Ответить с цитированием

  #5  
Старый 10.04.2009, 17:26
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Вопрос - столь ли необходимо читать все 100к записей?

И, эээ, зачем делать 100к запросов, логично что они будут тормозить.

PHP код:
$query=mysql_query('SELECT * FROM '.$table.' WHERE 1');

while (
$row=mysql_fetch_array($query))
{
print_r($row);

 
Ответить с цитированием

  #6  
Старый 10.04.2009, 17:31
Аватар для rcc0023
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
Провел на форуме:
644324

Репутация: 11
По умолчанию

Так я от туда беру максимум 30 записей... но выводятся они от 5ти секунд, бывает и все 10.

хотелось бы услышать о выборке одной определенной строки..
 
Ответить с цитированием

  #7  
Старый 10.04.2009, 17:41
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

rcc0023 Вы просто пытаетесь нивелировать достоинства мускуля

PHP код:
// Сам запрос один штука
// Например выведем все строки, для user_id между 20 и 30
$query=mysql_query('SELECT * FROM '.$table.' WHERE user_id>=20 and user_id<=30');

while (
$row=mysql_fetch_array($query))
{
print_r($row);
}  
// А теперь строки, у которых user_id находится в списке

$query=mysql_query('SELECT * FROM '.$table.' WHERE user_id in (1,25,32,42,54)');

while (
$row=mysql_fetch_array($query))
{
print_r($row);

Почитайте http://www.mysql.ru/docs/man/SELECT.html и что именно делает функция mysql_fetch_array
 
Ответить с цитированием

  #8  
Старый 10.04.2009, 17:50
Аватар для MuXaJIbI4
MuXaJIbI4
Познающий
Регистрация: 20.11.2008
Сообщений: 68
Провел на форуме:
108674

Репутация: 32
По умолчанию

а какие у тебя в этой таблице есть индексы ... может они просто не используются
 
Ответить с цитированием

  #9  
Старый 10.04.2009, 17:53
Аватар для geezer.code
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

Индексировать нужно те поля, по которым ведется поиск.
зы может это уже не мускул лагает, а сама тачка(мало опёры, слабый проц, параллельно играешь СоD4)

Последний раз редактировалось geezer.code; 10.04.2009 в 18:03..
 
Ответить с цитированием

  #10  
Старый 10.04.2009, 18:12
Аватар для rcc0023
rcc0023
Участник форума
Регистрация: 03.07.2008
Сообщений: 177
Провел на форуме:
644324

Репутация: 11
По умолчанию

Индекс первичный... с auto_increment
вы меня запутали.... получается все правильно сделано, только вся проблема в сервере и кол-ве строк?

p.s. оперы на 1000мб, на кроне висят скрипты постоянно что то добавляющие в базу..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват Gsm пакетов SNIFF Сотовый фрикинг 16 27.12.2009 22:25
WebScarab - профессиональный инструмент для анализа защищённости веб-приложений Kuzya Авторские статьи 5 09.04.2009 21:54
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Внедрение Sql кода с завязанными глазами, часть 2 k00p3r Чужие Статьи 0 12.06.2005 20:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ