|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
Sup, sql.ru. Писал запрос на выборку следующих элементов столбца Fields: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Столкнулся с проблемой быстродействия в связи с очень большим набором данных. Запрос длится минут 30, что очень много. Как оптимизировать его? Пример содержимого одной строки столбца fields: Код: sql 1.
Запрос выдаёт правую часть каждого куска. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 05:38 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
tolkonepiu, Распишите подробнее, что у вас делается. Из приведенного не совсем понятно, что и как. Ясно только, что данные хранятся... неоптимизировано. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 08:44 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
tolkonepiu, я выполнил в терминале: s x="R100_C3:0;R100_C4:0;R100_C5:0;R100_C6:0;R110_C3:45280;R110 ...(тут очень много текста)... R408_C3:2300;R409_C3:2341;" w $p(x,"R110_C3") R100_C3:0;R100_C4:0;R100_C5:0;R100_C6:0; w $p(x,"R110_C3:",2) 45280;R110 ...(тут очень много текста)... R408_C3:2300;R409_C3:2341; Так и было задумано? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 08:53 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
Я так понимаю, что вместо этого w $p(x,"R110_C3:",2) 45280;R110 ...(тут очень много текста)... R408_C3:2300;R409_C3:2341; хотелось это: 45280 тогда можно еще раз $p взять: w $p($p(x,"R110_C3:",2),";") А вообще imdb прав. Лучше поменять структуру :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 09:03 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
Ой, плюс увидел. Извините, ошибочка вышла :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 09:31 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
tolkonepiuКак оптимизировать его? Таки вспомнить о первой нормальной форме ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 10:58 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
krvsa, это "сырые" данные, после завершения ввода там разумеется создаются отдельные записи в таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:17 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
D_De1mosэто "сырые" данные Да хоть какие! Уш первая-то нормальная форма не такая сложная... Тем паче, что еще и выборка по тем данным делается... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 15:35 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
krvsaD_De1mosэто "сырые" данные Да хоть какие! Уш первая-то нормальная форма не такая сложная... Тем паче, что еще и выборка по тем данным делается... Ну как бы это сказать... в коде выборок по этому полю не происходит, а вот коды ячеек отличаются от формата к формату. А как бы вы хранили такую структуру? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2013, 17:10 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
D_De1mosА как бы вы хранили такую структуру? Х/з что у тебя там за данные, ты не писал... Но фоть первую-то нормальную форму нужно поддерживать. Тогда хоть проблем с выборками не будет... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2013, 21:20 |
|
Как ускорить выборку(piece)?
|
|||
---|---|---|---|
#18+
krvsa, В общем суть в том, что в приложении (которое содержит эти данные) выборок по этому полю просто нет (за ненадобностью). Это поле вообще хранится только для того, чтобы пользователю отобразить экран с табличкой из этих данных, для пары аналитических отчетов (которые для каждого документа только один раз производят разбор поля) и один раз для создания бизнес-объектов при завершении ввода документа. Документов в системе очень много, городить нормальные формы для этого поля смысла нет никакого. То, что товарищ tolkonepiu пытается вытащить данные напрямую через sql, минуя отчеты - это вообще отдельная песня: через 3 года работы системы оказалось, что на промышленных серверах куча внешних приложений молча тянут оттуда данные (про оптимальность и использования запросами индексов никто не знает). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2013, 16:20 |
|
|
start [/forum/topic.php?fid=39&fpage=25&tid=1557083]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 414ms |
0 / 0 |