У меня есть широкий стол с миллионами записей. Существует столбец типа integer, который мне нужно изучить для определенных условий. Значение может быть 0..6 или NULL. только около 1% записей имеют ненулевое, ненулевое значение в этом столбце. Поиск значения «6» может занять 90 секунд (!) В столбце/поле нет индекса, поэтому мне гарантируется сканирование таблицы. Как повысить эффективность поиска? Должен ли я удостовериться в том, что я должен удалить столбец за пределами диапазона, или я должен убедиться, что столбец не равен нулю и обновлен до 0? Может ли целочисленное поле с таким низким коэффициентом полезности получить индекс?Столбец Oracle INT, стратегия быстрого поиска
ответ
Похоже, что эта колонка является идеальным кандидатом на индекс. Даже если имеется только несколько различных значений, поскольку индексы Oracle хранят только значения, которые не являются нулевыми (или, в случае индексов в нескольких столбцах, где все значения столбца не являются нулевыми), вы будете автоматически уменьшите поиск до 1% от вашей таблицы.
Спасибо. Я подозревал, что так много - сохраняйте значения игнорирования NULL. Я попробую это в тестовой среде. Поле получило уведомление о выселении, но это немного больше, чем игра с индексами. –
выселение в отдельную таблицу, то есть :) –
Просто для других: «.. с ** Oracle ** индексы хранят только значения, которые не являются нулями ..» –
Если вы хотите запросить на нулевые значения, попробуйте использовать функцию на основе индекса:
CREATE INDEX ON quirky_column_idx wide_table (случай quirky_column когда нуль, то -1 еще quirky_column конец);
Если вы хотите использовать индекс, вы должны переписать свой запрос точно так же, как функция в индексе, например: select count (*) from wide_table где -1 = case quirky_column, когда null, а затем -1 else quirky_column конец ;
Теперь вы можете даже запрашивать нулевые значения с использованием индекса. Зная, что данные сильно искажены, вероятно, это не будет иметь большого значения, если вы не включите другие столбцы в предложение where.
- 1. Стратегия поиска
- 2. стратегия поиска полнотекстового поиска mongodb
- 3. Оптимальная стратегия пути поиска
- 4. Стратегия поиска пакетов OSGi
- 5. Стратегия поиска с необязательными переменными
- 6. быстрого поиска в питоне
- 7. Лучшая стратегия для быстрого набора больших наборов результатов
- 8. Структура поиска быстрого поиска Outlook по имени
- 9. Стратегия поиска и обновления JPA
- 10. ASP.NET стратегия поиска индексирование здание
- 11. Spring MVC Стратегия поиска пользователя
- 12. Стратегия поиска в infinte-списке
- 13. Структура XML для быстрого поиска
- 14. Изменить стиль окна быстрого поиска
- 15. Проблема с функцией быстрого поиска
- 16. Построение быстрого поиска с JQuery
- 17. Модель затрат алгоритма быстрого поиска
- 18. быстрого внедрение log2 (INT) и log2 (поплавок)
- 19. Переупорядочить столбец (int) в jquery datatable во время поиска
- 20. быстрого нечеткого поиска в C++ контейнер
- 21. Стратегия распределения доступа к пулу Oracle JDBC?
- 22. ищет эффективную структуру данных для быстрого поиска
- 23. Импорт пользовательской клавиатуры с полем быстрого поиска
- 24. Как получить адрес переменной быстрого Int
- 25. Стратегия быстрого создания значков для просмотра в лаборатории?
- 26. Промышленная стратегия для быстрого и грязного удаленного ведения журнала .net
- 27. Oracle Date from Int C#
- 28. Symfony2 стратегия поисковой системы
- 29. Стратегия управления пакетами Oracle без нарушения кода
- 30. Стратегия Oracle 11g для этой таблицы
Посмотрите на индекс растровых изображений, он разработан специально для столбцов с низкой мощностью. – Mihai
спасибо, но растровое изображение кажется портированным для часто обновляемого столбца –