Огромные базы данных

1 23
DA
На сайте с 04.02.2005
Offline
165
#21

интересно как в мемкеш запихнуть полнотекстовый поиск

тыщ-пыщ
Слава Шевцов
На сайте с 23.07.2005
Offline
370
#22
DJ_AlieN:
ALTER TABLE `tb_users` ADD INDEX `state`
ALTER TABLE `tb_users` ADD INDEX `country`

Мёртвому припарка. Там LIKE '%xxx%' тормозит так, что этими индексами не поможешь 😒

Слава Шевцов добавил 12.03.2008 в 09:35

DJ_AlieN:
интересно как в мемкеш запихнуть полнотекстовый поиск

ТС вставил в топик второй вопрос - множественное вытаскивание данных по ID ;)

Неизменность точки зрения неизменно порождает иллюзию понимания.
D
На сайте с 05.06.2007
Offline
155
#23

Убрали LIKE '%xxx%' стало легче жить )

Слава Шевцов,

select * from fotos where user='$user[id]'
или
select * from fotos where id IN ($user[fotos])

почему первое быстрее?

разве не самым быстрым является запрос по primary id?

я имею ввиду если сравнивать обычный индекс где номера повторяются и примари где все разные и упорядочены...

попробую потестировать)

... и действительно, первый запрос быстрее, и чем больше значений в IN тем больше требуется времени на выполнение запроса.

1000 рандом селектов за 1 сек из милионной базы.

Написал не мало шедевров ;)
K
На сайте с 24.03.2004
Offline
223
#24
Dimanych:
1000 рандом селектов за 1 сек из милионной базы.

в момент конкурентной вставки записей в базу это все чудесно грохнется... myisam короче.

проверенная ддос защита (http://ddos-protection.ru) -> http://ddos-protection.ru (http://ddos-protection.ru), бесплатный тест, цена от размера атаки не зависит.
Слава Шевцов
На сайте с 23.07.2005
Offline
370
#25
Dimanych:
почему первое быстрее?
разве не самым быстрым является запрос по primary id?

Здесь дело в другом. Здесь для скорости достаточно простого индекса. Кроме того, первый запрос сам по себе намного проще и для его выполнения нужно меньше работы с жёстким диском, ведь все данные хранятся в индексе друг за другом, а не разбросаны по большому индексу, как для второго запроса. Кроме того, его используют миллионы скриптов, в отличие от IN. Соответственно, MySQL дополнительно оптимизирован именно под этот запрос ;)

D
На сайте с 05.06.2007
Offline
155
#26

спасибо всем!!

Тут назрел вопрос, немного не в тему, только не бейте сильно )

Цель: выбрать из базы пользователей уникальные города, причём отсортировать по наиболее популярным. Выбрать то проблем нет, а вот отсортировать получатеся только средствами пхп, неужеле нельзя такое сделать одним запросом?

select city, count(*) from `users` group by city

одним словом как отсортировать вывод по возвращаемому count(*)

WF
На сайте с 22.03.2008
Offline
63
#27
Dimanych:
спасибо всем!!
Тут назрел вопрос, немного не в тему, только не бейте сильно )

Цель: выбрать из базы пользователей уникальные города, причём отсортировать по наиболее популярным. Выбрать то проблем нет, а вот отсортировать получатеся только средствами пхп, неужеле нельзя такое сделать одним запросом?

select city, count(*) from `users` group by city

одним словом как отсортировать вывод по возвращаемому count(*)

select city, count(*) as quan from `users` group by city order by quan desc

Сортировка в порядке убывания...

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий