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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: HELP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
event
Отправлено: 09 Февраля, 2015 - 23:28:40
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Есть таблица на 1 млн. записей.

Есть SELECT:
PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("SELECT id, name FROM lists WHERE categoryid = " . $categoryid . " ORDER BY id DESC LIMIT 100");


Таблица:

На поля categoryid, textid установлены идексы.

Но SELECT долго делается, хотя железо хорошее. Почему так? Помогите ускорить выборку.

Таблица весит вообще фигню, 111 мегабайт.

(Отредактировано автором: 09 Февраля, 2015 - 23:29:42)

 
 Top
KingStar
Отправлено: 09 Февраля, 2015 - 23:31:32
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




а тип таблицы какой?


-----
То что программа работает, не означает что она написана правильно!
 
 Top
event
Отправлено: 09 Февраля, 2015 - 23:35:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




KingStar, MyISAM
 
 Top
KingStar
Отправлено: 09 Февраля, 2015 - 23:35:51
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




видимо понял, у тебя MyISAM
переведи в InnoDB
(Добавление)
а если позволяет - то в Memory )))
(Добавление)
но Memory при падении субд, или ребуте сервера - пропадут все данные


-----
То что программа работает, не означает что она написана правильно!
 
 Top
event
Отправлено: 09 Февраля, 2015 - 23:39:38
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




KingStar, Memory точно нет.

А InnoDB что быстрее? Я читал что MyISAM быстрее чем InnoDB, но в InnoDB лучшее хранение данных, более безопасное.
 
 Top
KingStar
Отправлено: 09 Февраля, 2015 - 23:40:23
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




MyISAM бысрее работает на запись, а InnoDB - на чтение
(Добавление)
для безопасности хранения делают бекап )))


-----
То что программа работает, не означает что она написана правильно!
 
 Top
event
Отправлено: 09 Февраля, 2015 - 23:43:35
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




KingStar, понял. Теперь бы еще знать как быстро переганать?

А то у меня идея сделать это PHP-циклом, с одной таблицы (myisam) переписывать уже в другую (innodb) или есть варианты попроще?
 
 Top
KingStar
Отправлено: 09 Февраля, 2015 - 23:45:34
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




сделай бекап таблицы
удали её
создай новую с новым типом и теми же полями
и загрузи назад бекап
(Добавление)
вот пища для размышления http://www[dot]opennet[dot]ru/tips/1958_[dot][dot][dot]sam_innodb[dot]shtml


-----
То что программа работает, не означает что она написана правильно!
 
 Top
event
Отправлено: 10 Февраля, 2015 - 00:00:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




KingStar, все спасибо. Теперь все летает, как самолет прям. Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB