![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
И хотел спросить, что представляет поиск границы по индексу ?
Неактивен
Roin написал:
А граница диапазона точно будет искаться по индексу ? или мускул может юзать его а может и не юзать ?
Как и в любом другом случае mysql исходя из статистики индекса определяет целесообразность его использования. Нужно смотреть explain.
В данном случае, как мы видели ранее (результат выполнения explain) будет.
Неактивен
Roin написал:
И хотел спросить, что представляет поиск границы по индексу ?
Имхо, то же что и поиск фиксированного значения.
С той лишь разницей, что при отсутствии точного совпадения будет отдан не пустой результат, а то что слева или справа в зависимости от условия.
В данном случае, если есть точное совпадение с заданной в запросе границей диапазона, то его и отдаем, если нет, то идем вниз по индексу и отдаем первое значение. Поиск завершен.
Неактивен
vasya написал:
Roin написал:
А граница диапазона точно будет искаться по индексу ? или мускул может юзать его а может и не юзать ?
Как и в любом другом случае mysql исходя из статистики индекса определяет целесообразность его использования. Нужно смотреть explain.
В данном случае, как мы видели ранее (результат выполнения explain) будет.
Меня смущает то, что даже Вы предполагаете что мускул вполне себе может не использовать индекс.
Смотреть експлейн всех вариантов запроса я несмогу, 4млрд ип я небуду же все варианты смотреть план выполнения.
Меня все таки очень волнует точный вопрос не столь как ищется диапазон по индексу, или как идет сортировка.
Если оценивать данный запрос только в чтениях с диска - какова вероятность того что чтений с диска будет более ну скажем 20ти ? Или это опять даже предположить нельзя ? Просто мой метод дает четкие чтения с диска, а в случае с мускулом я не знаю сколько будет чтений - то ли несколько десятков то ли несколько тысяч - как мускул посчитает оптимальным так и будет. Это не дело.
Неактивен
Roin написал:
Меня смущает то, что даже Вы предполагаете что мускул вполне себе может не использовать индекс.
Смотреть експлейн всех вариантов запроса я несмогу, 4млрд ип я небуду же все варианты смотреть план выполнения.
Это был общий ответ (под другим случаем я подразумевал не другое значение ip, а принципиально иной запрос). Достаточно посмотреть explain для одного произвольного значения ip.
Roin написал:
Меня все таки очень волнует точный вопрос не столь как ищется диапазон по индексу, или как идет сортировка.
Если оценивать данный запрос только в чтениях с диска - какова вероятность того что чтений с диска будет более ну скажем 20ти ? Или это опять даже предположить нельзя ? Просто мой метод дает четкие чтения с диска, а в случае с мускулом я не знаю сколько будет чтений - то ли несколько десятков то ли несколько тысяч - как мускул посчитает оптимальным так и будет. Это не дело.
Поиск по дереву это O(ln(n))
Неактивен
vasya написал:
Roin написал:
Меня смущает то, что даже Вы предполагаете что мускул вполне себе может не использовать индекс.
Смотреть експлейн всех вариантов запроса я несмогу, 4млрд ип я небуду же все варианты смотреть план выполнения.Это был общий ответ (под другим случаем я подразумевал не другое значение ip, а принципиально иной запрос). Достаточно посмотреть explain для одного произвольного значения ip.
Roin написал:
Меня все таки очень волнует точный вопрос не столь как ищется диапазон по индексу, или как идет сортировка.
Если оценивать данный запрос только в чтениях с диска - какова вероятность того что чтений с диска будет более ну скажем 20ти ? Или это опять даже предположить нельзя ? Просто мой метод дает четкие чтения с диска, а в случае с мускулом я не знаю сколько будет чтений - то ли несколько десятков то ли несколько тысяч - как мускул посчитает оптимальным так и будет. Это не дело.Поиск по дереву это O(ln(n))
Т.е при 160к записей по диску будет где то 12 чтений в любом случае для такого запроса ? если не учитывать О.
Неактивен
Что-то я не понял смысла вашего последнего сообщения. Что значит "12 чтений в любом случае"? Искомое значение может быть обнаружено и на первом шаге.
Неактивен
vasya написал:
Что-то я не понял смысла вашего последнего сообщения. Что значит "12 чтений в любом случае"? Искомое значение может быть обнаружено и на первом шаге.
Да я сам не представляю как происходит выполнение этого запроса
Мне охото понять, но пока не понимаю
Хотя бы понять сколько возможно минимально чтений с диска а сколько масимально
Неактивен
Roin написал:
Да я сам не представляю как происходит выполнение этого запроса
Если есть точное совпадение с заданной в запросе границей диапазона, то его и отдаем, если нет, то идем вниз по индексу и отдаем первое значение. Поиск завершен.
Roin написал:
Хотя бы понять сколько возможно минимально чтений с диска а сколько масимально
Значение может быть найдено на первом шаге, а может потребоваться и ln(n). Почитайте как устроен индекс b-tree.
Неактивен