Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
Используется db2 v8 for z/OS. Есть таблица: CREATE TABLE STAT (STA#UN INTEGER NOT NULL, STA#ID INTEGER NOT NULL, STAT_NO CHAR(6) FOR SBCS DATA NOT NULL) В запросе необходимо сделать выборку STAT_NO по первым 5-и символам LEFT(STAT_NO, 5) всё работает очень медлено.. Технологически STAT_NO CHAR(6) и менять нельзя. Вопрос: Можно ли сделать индекс по сталбцу STAT_NO по первым пяти символам или дабавить в таблицу поле STAT_NO5 CHAR(5) которое брало из поля STAT_NO первые пять символов? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 10:50 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
segoffИспользуется db2 v8 for z/OS. Есть таблица: CREATE TABLE STAT (STA#UN INTEGER NOT NULL, STA#ID INTEGER NOT NULL, STAT_NO CHAR(6) FOR SBCS DATA NOT NULL) В запросе необходимо сделать выборку STAT_NO по первым 5-и символам LEFT(STAT_NO, 5) всё работает очень медлено.. Технологически STAT_NO CHAR(6) и менять нельзя. Вопрос: Можно ли сделать индекс по сталбцу STAT_NO по первым пяти символам или дабавить в таблицу поле STAT_NO5 CHAR(5) которое брало из поля STAT_NO первые пять символов? Спасибо. а если написать where STAT_NO betheen '555550' and '555559' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 11:20 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
where STAT_NO between '555550' and '555559' конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 11:21 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
STAT_NO символьное значение типа 000000, 011005, 713204 в запросе должно использоваться 00000, 01100, 71320. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 12:02 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
segoff, Цитата:http://sqlguideline.blogspot.com/Avoid scalar functions in WHERE clauses for those index columns you want to use. E.g. substring can often be replaced with LIKE or BETWEEN Про BETWEEN уже написали, вот конструкция для LIKE: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 12:04 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
Может не совсем правельно объяснил... Есть еще одна таблица OVER и в ней есть столбец KS CHAR(5), запрос выглядит что-то вроде этого: SELECT * FROM OVER, STAT where OVER.KS = LEFT(STAT.STAT_NO, 5) Работает очень долго, если бы в таблице STAT было бы поле STAT_NO5 которое брало из поля STAT_NO первые пять символов, то запрос был бы: SELECT * FROM OVER, STAT where OVER.KS = STAT.STAT_NO5 и всё работает моментально. Если возможность сделать такое такое поле которое генерировалось бы автоматически или как по-другому обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 15:15 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
segoff, вам два примера предоставили, что делать в такой ситуации.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 15:20 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
Новый Годsegoff, вам два примера предоставили, что делать в такой ситуации.... работает медленно.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 15:22 |
|
||
|
Создание индекса по кускку строки.
|
|||
|---|---|---|---|
|
#18+
Автоматического поля там не было... Можно такой запрос попробовать написать SELECT * FROM OVER A, STAT B WHERE A.KS IN ( SELECT B.STAT_NO FROM STAT B WHERE STAT_NO BETWEEN A.KS||'0' AND A.KS||'9' ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 15:41 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=36095108&tid=1603168]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 521ms |

| 0 / 0 |
