SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.01.2020 03:43:40

tarabukinivan
Участник
Зарегистрирован: 30.06.2017
Сообщений: 1

выбор 10000 строк из таблицы с миллионными записями (скорость работы)

Добрый день!
1. Допустим есть таблица people с людьми с полями id_p, firstname, lastname, year, city_id, index, phone, address. Пусть id_p первичный ключ. В таблице имеется несколько миллионов записей.
При выборе записей допустим: "SELECT * FROM people WHERE (id_p<10000 AND id_p >= 20000) ORDER BY id_p" будут перебраны все записи на таблице или только 10000 записей.
2. Допустим еще есть таблица city (тоже с миллионами записями) с полями city_id, post_i, name, country, где city_id первичный ключ, и на первой таблице people id_p и city_id ключи, тогда при выполнении запроса:
SELECT * FROM `people`
INNER JOIN `city` ON people.city_id = city.city_id
WHERE `city_id` > 10000 AND `city_id` <= 20000 ORDER BY people.city_id;
Такой же вопрос mysql пройдет по всем записям или только для нужных 10000?

Неактивен

 

#2 29.01.2020 14:09:01

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2261

Re: выбор 10000 строк из таблицы с миллионными записями (скорость работы)

1) Удивляет
id_p<10000 AND id_p >= 20000
Взаимоисключающие параграфы?
Вообще должен индекс использоваться, да, то есть только нужные записи должны быть выбраны, но покажите explain запроса.

2) mysql может сам решить в каком порядке джоинить таблицы - опять же покажите explain.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson