Быстрая нумерация страниц в mysql?

Я не забываю делать , где... ограничивают 100000 200 медленный, потому что MySQL все еще просматривает через первые 100000 рядов. Потребовалось много секунд (не миллисекунды), чтобы получить ряды прошлый 1 миллион. Так или иначе я нахожусь в стадии проектирования места. Я хотел бы сделать поиск с многократными признаками, такими как cpp гнезда .

Я пытаюсь получить быстрые поиски. Я думаю, что мои варианты к вместо страницы использования #, чтобы использовать метку времени (скорее всего, как 64-битный интервал) или поссориться #. Но я думаю, что я, возможно, должен пойти дальше тогда это?

Я думаю, что мне нужна таблица поиска, поэтому если бы у почты 123456789 есть признаки cpp практическое руководство гнезда, я вставил бы почту в таблицу поиска (lookupid, tagid, отправленный) с индексом на tagid. Фигура, у которой есть самое низкое количество (проводят, я использую подсчет (*) или обновляю ряд, где-нибудь держащий текущий подсчет?) тогда я мог так свой поиск с заявлением как

select postid from Post p join
(select postid from tag_lookup where [email protected]_with_lowest_count and post_id<@post_id_limit) 
  as t2 on p.id=t2.postid
//i'm not sure how to write a where that checks if a post has every tag in a list.
where @array_length_as_a_param == (select count(*) from tag where tag.postid=p.postid 
  and in @array //dapper probably handles this for me. Unsure if this is connrect

I have no data, tables, anything so I cant use explain yet (i'm semi bad reading it too). I'm brainstorming. So I'd use > or < depending if i am doing next/prev page and using a post_id rather then using page number.

Кто-либо может думать о хорошем и надлежащем способе получить быстрые поиски страницы на случайных признаках который я И вместе?

1
добавлено
Просмотры: 1

1 ответы

  1. использование выбирает количество ([ваш-первичный-ключ]) вместо * .
  2. индексы использования на отправленном в признаках и постах.
  3. использование соединение вместо того, чтобы проверить на равенство в вашем, где пункт.

Это только от поверхностного взгляда. Как только вы сделали эти три и если это все еще не достаточно производительно, объявите результаты объяснения вопроса, и я буду рад смотреть.

2
добавлено
"быстро" и "хороший выбор" относителен, помощник
добавлено автор hd1, источник
I' у ll есть решение для вас, когда у меня есть больше пропускной способности, чтобы сэкономить на этом.
добавлено автор hd1, источник
Который, где? Я имею 3. Таким образом, это Кажется, что было бы быстро и хороший выбор использовать?
добавлено автор user34537, источник
:p я думаю ее быстрое и хороший выбор, если я не схожу с ума на быстрой стороне (заставляют советы держать ключи и полностью переписать много функций). Но что относительно вашего пункта 3? все 3 из моего, где у заявлений есть тест на равенство и я не знаю, к которому вы предлагаете присоединиться. I' m даже уверенный, как i' d переписывают любой из них
добавлено автор user34537, источник
o. O это будет отнимающим много времени, чтобы осуществить? или дайте мне повреждение головного мозга? хорошо я предполагаю. Я с нетерпением жду, если вы имеете больше пропускной способности и хотите сэкономить на этом. Но попытайтесь сохранять его простым. I' m уверенный вышеупомянутые прекрасные предварительные формы, я просто задавался вопросом, было ли это плохим дизайном или известным хорошим дизайном
добавлено автор user34537, источник