лучший способ разделов базы данных оракула? - PullRequest
0 голосов
/ 16 марта 2010

У меня есть одна таблица из 50 000 ключевых слов, и я предоставляю функцию автозаполнения для этих ключевых слов на основе механизма подсчета. Но все же получение ключевых слов требует времени ..

Каким образом должны быть сделаны разделы базы данных для быстрого извлечения ....

помогите мне плз .....

Ответы [ 3 ]

3 голосов
/ 16 марта 2010

Таблица с 50k строк очень мала. Там не должно быть необходимости (и выгоды) для его разделения.

Вам нужно взглянуть на план выполнения запроса и ваш алгоритм в целом. Может быть, вам просто нужен индекс. Или кэш в памяти.

1 голос
/ 16 марта 2010

некоторые мысли:

  • 50 тыс. Ключевых слов - не такая большая таблица, разделы не помогут, умный индекс может.
  • Лучше всего, если сначала загрузите подходящую структуру данных в память
  • если данные находятся в БД, ваше автозаполнение, вероятно, будет медленным и не отвечает, так как каждое нажатие клавиши приводит к обмену данными с БД.
0 голосов
/ 20 марта 2010

Возможно, статистика старой таблицы, оптимизатор может выбрать неправильный план.

Попробуйте от пользователя с ролью администратора базы данных
exec dbms_stats.gather_table_stats (ownname => 'YOUR_OWNER', tabname => 'YOUR_TABLE');<br> alter system flush shared_pool;
И проверьте время получения ключевых слов снова.

PS Статистика должна собираться регулярно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...