|
|
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
У меня есть код поиска Дата может быть введена не полной, например 12 день либо 12:00. И имя с фамилией вводятся в одной ячейке и "могут вводится абы как" (для удобства пользователя всё) Код: java 1. 2. 3. 4. 5. он рабочий, всё хорошо показывает, только боюсь что при большой базе дынных будет тормозить. Думаю что это можно улучшить при помощи индексации, только не знаю как точно Можете ктонибудь объяснить как это дело делается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 14:25:42 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
Вопрос к Java никакого отношения не имеет. Вам нужно почитать как оптимизировать LIKE А вот это полный финиш, конечно: TO_CHAR(a.timestamp) LIKE '%2012.05.30 14:00%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 14:27:58 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
запостил в oracle раздел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 14:35:23 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА вот это полный финиш, конечно: TO_CHAR(a.timestamp) LIKE '%2012.05.30 14:00%' :):):) показал DBA - у него глаз заморгал, до сих пор кстати моргает:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:16:39 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
Добрый день, ccoder! > Дата может быть введена не полной, например 12 день либо 12:00. И имя с > фамилией вводятся в одной ячейке и "могут вводится абы как" (для > удобства пользователя всё) Пользователю пофиг, как всё это лежит в БД. За попытку залезть туда копытами надо их на мясо пускать. Поэтому, если не хотите огребать постоянно чудовищных проблем, срочно меняйте структуру данных. Дату хранить надо в Date (либо если очень хочется- long в миллисекундах), ФИО - в трёх полях (Фамилия, Имя, остальной мусор). А то потом реально попадёте с каким-нибудь "Кургы Оглы Иван Васильевич". Вот попросят вас вывести в отчёте "Фамилию и инициалы"- будет плакать, но будет уже поздно. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:23:44 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
Добрый день, забыл ник! > :):):) показал DBA - у него глаз заморгал, до сих пор кстати моргает:) Добрый души человек, раз не убил. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:24:06 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
А Код: java 1. и Код: java 1. можно проиндексировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:25:28 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
Так а реально-ли сделать индекс на TO_CHAR(a.timestamp) чтобы при запросе брались заранее подсчитанные значения TO_CHAR(a.timestamp). Другими словами не вводить столбец TO_CHAR(a.timestamp) в таблицу где будет хранится заранее подсчитанные значения TO_CHAR(a.timestamp)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:39:05 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
Добрый день, ccoder! > Так а реально-ли сделать индекс на TO_CHAR(a.timestamp) > чтобы при запросе брались заранее подсчитанные значения > TO_CHAR(a.timestamp). Зачем? DATE это момент времени. Никому и никогда он не нужен. Нужно либо trunc(date)=..., либо date between ... and ... В обоих случаях строкове представление в БД не нужно. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:41:22 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
ccoderТак а реально-ли сделать индекс на TO_CHAR(a.timestamp) чтобы при запросе брались заранее подсчитанные значения TO_CHAR(a.timestamp). Другими словами не вводить столбец TO_CHAR(a.timestamp) в таблицу где будет хранится заранее подсчитанные значения TO_CHAR(a.timestamp)? По-идее можно сделать индекс на вычисляемом столбце. Но, повторюсь, вы ошиблись форумом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:42:15 |
|
||
|
Вопрос по индексации
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraЗачем? DATE это момент времени. Никому и никогда он не нужен. Нужно либо trunc(date)=..., либо date between ... and ... В обоих случаях строкове представление в БД не нужно. +1 Нужно ввод пользователя сконвертировать во внятное условие на SQL для типа Date. А не пытаться текст натянуть на LIKE и формат даты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 15:44:08 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=295&tid=2131988]: |
0ms |
get settings: |
20ms |
get forum list: |
35ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
46ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 385ms |
| total: | 599ms |

| 0 / 0 |
