|
|
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Привет всем! скажите как лучше всего решить задачу. В общем нужно обновить в одной таблице одно поле. записей примерно 10.5 млн строк. весь базы 1,2гб (будет еще больше, а обновлять это поле нужно периодически). Что сам делал. Подключаюсь к базе через ADO. Выполняю следующий запрос $query = 'UPDATE "Coupons" SET "Active" = 0 WHERE "Code" =' & $sLine, но работает очень медленно :( Примерно 6-7 секунд за одну запись :( так же пробовал через RecordSet While Not $adoRs.EOF $adoRs.Fields("Active").Value = 0 $adoRs.Fields("UpdateData").Value = $DataTimeNow $adoRs.Update $adoRs.MoveNext WEnd $adoRs.Close то же самое :( знатоки подскажите, как лучше реализовать данную задачу. сам уже выбился из сил... если кинете еще и маленький примерчик, очень буду благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 08:19:19 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, какой тип поля у Code? По нему есть индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 08:58:13 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Тип поля Code VARCHAR(100), индекс имеется. поле Active тип Integer висит тригер так же индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:05:46 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Придется ддл таблицы и план показать. А потом этот-же запрос в IBE за сколько выполняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:06:37 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
DLL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:12:21 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
А потом этот-же запрос в IBE за сколько выполняется? Запускал через IBM 2005 for Interbase and Firebird на копии базы. Тоже очень долго :( не дождался завершения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:17:33 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
*IBM 2005 = SQLManager 2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:18:08 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, Код: sql 1. Смущает меня этот индекс Он точно нужен??? Попробуй без него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:22:53 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Пробовал, убирал его. не помогло... я сразу начал рыть в сторону индекса на поле Active. но без результатно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:24:47 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL*IBM 2005 = SQLManager 2005 Эм... Я про это ibexpert.com/rus/ibe_sfx.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:25:19 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, что за язык программирования? Версия FB? по этому коду кажется что нужно обновить одну запись по Code автор$query = 'UPDATE "Coupons" SET "Active" = 0 WHERE "Code" =' & $sLine а по этому все записи в таблице Coupons авторWhile Not $adoRs.EOF $adoRs.Fields("Active").Value = 0 $adoRs.Fields("UpdateData").Value = $DataTimeNow $adoRs.Update $adoRs.MoveNext WEnd $adoRs.Close можно всё таки попонятней озвучить что требуется. Какова селективность Coupons_IDX1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:34:00 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
авторчто за язык программирования? Версия FB? подключаюсь через ODBC драйвер. накидал все это дело на AutoIt. читаю текстовый файл, построчно, значения подставляю в запрос: Код: autoit 1. 2. 3. 4. 5. FB Версия 2.5, пытаюсь сделать следующее: в текстовом файле лежат номера разделенные enter'om без пробелов, форматом примерно так: 01234567890 12345678901 23456789012 34567890123 ... их примерно тыс 300. все это дело я считываю и хочу в базе FB (этим номерам) присвоить значение полю Active = 0 автора по этому все записи в таблице Coupons я перед этим выбрал Selecto'm нужные мне номера. З.Ы.без SQL запроса просто считывание строк занимает примерно минуты 2-3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:51:44 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
добавить поле NCode типа нумерик или интеджер, заполнить, создать индекс и в where использовать его. ЗЫ варчар100 с индексом - это сомнительный профит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:53:35 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, проще будет этот файл загрузить во временную таблицу без индексов и работать с ней посредством stored procedure на сервере, чем обрабатывать построчно (это изврат, имхо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:54:41 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLпытаюсь сделать следующее: в текстовом файле лежат номера разделенные enter'om без пробелов, форматом примерно так: 01234567890 12345678901 23456789012 34567890123 ... их примерно тыс 300. все это дело я считываю и хочу в базе FB (этим номерам) присвоить значение полю Active = 0 автора по этому все записи в таблице Coupons я перед этим выбрал Selecto'm нужные мне номера. З.Ы.без SQL запроса просто считывание строк занимает примерно минуты 2-3. пихни все свои номера в отдельную таблицу и сделай ...where "Code" in (select field1 from table1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:58:04 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
wadman, согласен. Мы как-то с Таблоидом проверяли скорость через загрузку в промежуточную GTT, а потом из неё в таблицу, в некоторых случаях скорость существенно возрастала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 09:59:29 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, только не where "Code" in (select field1 from table1), а через MERGE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:00:54 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов Денистолько не where "Code" in (select field1 from table1), а через MERGEчто через мерж? в мачед всё равно как-то надо будет впихнуть селект. впрочем стоит попробовать и оценить скорость. хотя не думаю, что мерж будет быстрее простого апдейта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:06:14 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, MERGE позволит развернуть порядок обхода таблиц. авторwhere "Code" in (select field1 from table1) Тем более, что для Code в этом случае индекс не может быть применён, а GTT у нас без индесков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:16:18 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисMERGE позволит развернуть порядок обхода таблиц.в смысле? Симонов Денисавторwhere "Code" in (select field1 from table1) Тем более, что для Code в этом случае индекс не может быть применённу про сомнительный профит от индекса на варчар100 я уже писал, но почему не может быть применён? Симонов Дениса GTT у нас без индескова там всё равно все значения выбирать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:23:36 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadsterв смысле? порядок обхода начнётся с GTT. MERGE выполняет RIGHT JOIN с таблицей источником, т.е. она оказывается ведущей. roadsterну про сомнительный профит от индекса на варчар100 я уже писал ну здесь я думаю автор от балды воткнул "с запасом". Если подумает, то наверняка выберет приемлемый размер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:31:06 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов Дениспорядок обхода начнётся с GTT. MERGE выполняет RIGHT JOIN с таблицей источником, т.е. она оказывается ведущей.ну может так и быстрее будет. Симонов Денисну здесь я думаю автор от балды воткнул "с запасом". Если подумает, то наверняка выберет приемлемый размерсудя по представленному набору входных данных я бы вообще нумерик выбрал бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:34:39 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, NUMBERIC подошёл бы если бы ведущих нулей не было автор01234567890 хотя если количество символов для вывода всегда одинаково, то можно и NUMERIC хранить а при выводе дополнять нулями слева до нужной длины ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:37:30 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисNUMBERIC подошёл бы если бы ведущих нулей не былонадо смотреть логику использования этих данных, собственно от предложения переделать в нумерик меня остановил именно этот первый нолик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:39:31 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
авторзагрузить во временную таблицу что то типо этого ? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:44:50 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL Код: sql 1. использование * рано или поздно отольётся слезами и ненужной работой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:49:49 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, я всего лишь тестю... после конечно все будет идентифицировано. SELECT "NNN" через кровь и пот. :( но а сама структура верная ? пытаюсь ее проверить на IBExpert ругается. т.е. по идеи это должно же отработать в script редакторе IBExpert ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:57:09 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, нет. Это тебе не MSSQL. В своей программе/скрипте сначала грузишь номера для обновления в GTT TMP_COUPONS_CODES (тут будет только INSERT) Код: sql 1. 2. 3. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. а потом запускаешь ХП LOAD_COUPONS Всё это в 1 транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 10:57:27 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов Денис(тут будет только INSERT)я позволю себе прокомментировать эту фразу. предлагается на стороне клиента разбирать файл и в цикле инсёртить. ЗЫ да, это не Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 11:03:14 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Hello, roadster! You wrote on 2 апреля 2014 г. 11:08:07: roadster> предлагается на стороне клиента разбирать файл и в цикле инсёртить. > ЗЫ да, это не Oracle боня, вернись в ПТ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 11:09:13 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийбоня, вернись в ПТ.там скучно было. а вот теперь здесь стало интересно. предложишь что-нибудь кроме моего варианта? ЗЫ екстернал таблес? или я безнадёжно отстал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 11:40:46 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Hello, roadster! You wrote on 2 апреля 2014 г. 11:42:26: roadster> екстернал таблес? пожалуй да. тем более что у него текстовый файл. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 11:44:02 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster> предложишь что-нибудь кроме моего варианта? > ЗЫ екстернал таблес? или я безнадёжно отстал? Я бы предложил для начала уйти от AutoIt! и ODBC.. Вещь, конечно, хорошая, но, имхо, совсем для другого... .... А взять IBEScript, например, и FB Embedded... .... У меня на cmd + IBEScript был написан могучий импортёр громадных dbf-файлов в FB... -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 11:46:33 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийroadster> екстернал таблес? пожалуй да.всё ещё комильфо, я не совсем отстал от жизни с этим чёртовым ораклом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 12:27:54 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
EXTERNAL нельзя же вроде для временных таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:02:51 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Hello, JuniorSQL! You wrote on 2 апреля 2014 г. 13:09:59: JuniorSQL> EXTERNAL нельзя же вроде для временных таблиц. roadster предложил EXTERNAL вместо временных таблиц. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:12:19 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLEXTERNAL нельзя же вроде для временных таблиц.а что мешает создать, а потом удалить екстернал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:12:44 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, но она потом будет не нужна. т.е. по "оконцове" всех операций эту таблицу удалить ? можно будет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:14:20 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, ок. столько способов, глаза разбегаются :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:15:18 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLок. столько способов, глаза разбегаются "и медленно встает" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:23:08 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
-Сегодня смог, Бэрримор. -Поздравляю, сэр! (С) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:29:00 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, да с самого начала было ясно, что "Примерно 6-7 секунд за одну запись" - неправда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:30:42 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
kdvIvan_Pisarevsky, да с самого начала было ясно, что "Примерно 6-7 секунд за одну запись" - неправда. в смысле ? не правда что ? дольше или меньше ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:33:32 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLв смысле ? не правда что ? дольше или меньше ? да потому что в таблице даже с тремя миллиардами (!) записей обновление одной записи по индексу будет идти столько же, сколько и в таблице со 100 записями. Это научный факт. А вы его пытаетесь опровергнуть, причем, обновляя вместо одной записи целые миллионы (или сотни тысяч). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 13:59:34 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
За четыре часа никто так и не обратил внимания, что аффтар совершил глупейшую, недавно обсуждаемую ошибку: не поставил кавычки вокруг строковой константы из-за чего индекс по полю Code шёл лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 15:14:40 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, об этом даже как-то не подумалось. Привык всё через параметры делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 15:21:06 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
я так понял, что если данные в текстовом файле не разделены ";" то последняя запись отбрасывается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 15:55:40 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Hello, JuniorSQL! You wrote on 2 апреля 2014 г. 16:19:00: JuniorSQL> я так понял, что если данные в текстовом файле не разделены ";" > то последняя запись отбрасывается ? ась? шо? где? когда? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 16:20:05 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, ну вот скрин файла: http://i031.radikal.ru/1404/b3/e29697420de3.jpg а вот скрин из IBExpert'a: http://s004.radikal.ru/i206/1404/9d/0b7cdbe897e6.jpg почему последняя строка отсутствует ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 17:16:55 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
снимается :) теперь получается если я сделаю: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. то все отработает в разы быстрей чем в (0) ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2014, 17:56:57 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
почему то не обновляются записи. создал процедуру: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. вроде все верно, синт. ошибок нет. процедура отрабатывает но ничего не изменяет. совпадающие номера в таблицах имеются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 08:33:25 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLпроцедура отрабатывает но ничего не изменяет. совпадающие номера в таблицах имеются.Вы сравниваете не содержимое полей, а строковые литералы. Которые не равны друг другу :-). Поменяйте апострофы на кавычки. А еще лучше - забудьте про такую практику (создание базы с case-sensitive полями), читать это невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 08:38:09 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Таблоид, "couponsFile.code" = "Coupons.Code", имеете ввиду так ? но так синт. ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 08:47:13 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLТаблоид, "couponsFile.code" = "Coupons.Code", имеете ввиду так ? но так синт. ошибки.Держите текст этих ошибок в тайне и никогда никому не показывайте. Не уверен, что прокатит, но попробуйте еще вот так: couponsFile."code" = "Coupons"."Code" ЗЫ. Весёлый гемор там у вас, с кавычками-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:03:15 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
опять беда :( Column does not belong to referenced table. Dynamic SQL Error. SQL error code = -206. Column unknown. couponsFile.code. At line 6, column 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:08:28 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
begin merge into "Coupons" using "couponsFile" on Trim("couponsFile"."code") = Trim("Coupons"."Code") when matched then update set "Active" = 0 ; end вот так отработало, без синтакс. ошибок. но update не отработал. может быть из за этого, что тип поля couponsFile.code (char), а Coupons.Code (varchar) http://s019.radikal.ru/i615/1404/f4/edfe0569c524.jpg ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:14:13 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, couponsFile - это GTT ON COMMIT DELETE ROWS? Если да, то обязательное условие чтобы заливка INSERT и ваша процедура работали в одной транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:17:53 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLupdate не отработал. может быть из за этого, что тип поля couponsFile.code (char), а Coupons.Code (varchar)Вы можете создать базу "без кавычек" ? Зачем самому себе грабли подкладывать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:19:16 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
авторcouponsFile - это GTT ON COMMIT DELETE ROWS? Если да, то обязательное условие чтобы заливка INSERT и ваша процедура работали в одной транзакции нет, это EXTERNAL. авторВы можете создать базу "без кавычек" ? Зачем самому себе грабли подкладывать ? не много поясню. это решение не мое :( я больше специализирован на решениях на платформе 1с. у нас есть ПО работает с этой базой, мне нужно "сливать" из 1с в FB в эту базу данные, через текстовый файл и так как я тут один, то на меня указали звезды. :( из 1с я на прямых запросах быстро формирую этот файл, а вот залить с той же скоростью в FB уже 3й день не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:26:18 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLопять беда :( Column does not belong to referenced table. Dynamic SQL Error. SQL error code = -206. Column unknown. couponsFile.code. At line 6, column 6.и что у вас там за бардак? то есть кавычки, то нет, алиас совпадает с именем таблицы, регистрозависимость (как уже сказали) мешает читать. ну и код создания select "code" FROM "couponsFile" неплохо увидеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:27:21 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLнет, это EXTERNAL.тогда для начала что возвращает из "couponsFile"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:30:03 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, авторну и код создания select "code" FROM "couponsFile" неплохо увидеть. http://s43.radikal.ru/i101/1404/8b/1b8286fce893.jpg ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:31:46 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:33:13 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, приведи DDL таблицы couponsFile, а не картинку из IBE. И ещё в IBE в гриде есть такой пункт по правой клавише мыши как "копировать записи в буфер обмена". Вот так это выгдлядит при вставке Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Это чтобы скриншоты не выкладывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:39:42 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
DDL couponsFile: SET SQL DIALECT 3; CREATE TABLE "couponsFile" EXTERNAL 'C:\FILE.TXT' ( "code" CHAR(13), NEWLINE CHAR(1) ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:47:10 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, ладно. 1C это... круто, поэтому надо помочь. что возвратит запрос Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:48:36 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster, COUNT 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:50:19 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLNEWLINE CHAR(1)это что? признак какой-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:50:24 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
roadster]это что? признак какой-то? нет, это для переноса строки в текстовом файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:51:54 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLroadster, COUNT 0так получается, что нет у тебя записей в "Coupons" где поле "code" отвечало бы условиям. ладно, немного преобразуем запрос Код: sql 1. 2. 3. 4. хотя скорее всего трима хватит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:52:28 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
и с просто TRIM'om и с UPPER(TRIM()) COUNT 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:54:33 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLи с просто TRIM'om и с UPPER(TRIM()) COUNT 0нет записей с таким условием, обновлять нечего. но для верности Код: sql 1. 2. 3. 4. 5. 6. PS кокой фигнёй только не займёшься от скуки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 09:59:27 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
:) не знаю что это было, но COUNT 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:01:14 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL:) не знаю что это было, но COUNT 4о хоспади... в 1С в прямых запросах LIKE не используется что ли? просто в "Coupons"."Code" нет точного соответствия а есть строки включающие эти циферки, при этом либо до либо после есть иные символы, отличные от пробелов (пробелы тримом отрезаются, если что) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:06:14 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, ладно давай так Код: sql 1. 2. 3. 4. 5. 6. ЗЫ да штош как скушно0то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:07:22 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
я не о LIKE имел ввиду, а то что Count был равен не 0 :) а теперь и вовсе здорово: Code 123456789012 012345678912 234567890123 345678901234 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:09:17 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLCount был равен не 0подари бубен что ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:11:38 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Trim я уже пробовал, получается там не пробелы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:21:26 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, самому интересно стало. Давай вот так Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:24:42 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, угу жуе попробовал. Code 123456789012 012345678912 234567890123 345678901234 получается, что проблема с таблице couponFile, в поле "code". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:28:04 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, теперь всё тоже самое (те же запросы) проделай с couponFile ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:29:49 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
всем пока, мне работу нашли. пойду поговнокодю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:34:57 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
вот так: select "couponsFile"."code" from "couponsFile" where TRIM("couponsFile"."code") LIKE '123456789012%' code 123456789012 а вот так select "couponsFile"."code" from "couponsFile" where TRIM("couponsFile"."code") LIKE '123456789012%' ничего не выходит. а как узнать, какой символ идет после 2ки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:34:58 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
сорри опечатка а вот так select "couponsFile"."code" from "couponsFile" where TRIM("couponsFile"."code") LIKE '123456789012' ничего не выходит. а как узнать, какой символ идет после 2ки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:35:43 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, режь поле с помощью substring. или удаляй всё, что не цифры. ЗЫ подозреваю наличие непечатного символа вроде перевода строки и возврата каретки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:39:05 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
SELECT (SUBSTRING("couponsFile"."code" FROM 1 FOR 13)) From "couponsFile" так все норм. SUBSTRING 123456789012 012345678912 234567890123 345678901234 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 10:49:14 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
вот так работает. begin merge into "Coupons" using "couponsFile" on SUBSTRING("couponsFile"."code" FROM 1 FOR 12) = "Coupons"."Code" when matched then update set "Active" = 0 ; end О, Боже, темный лес... З.Ы. roadster, кидай номер ЯД. вечером отмечусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:03:30 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQL, значит твой файлик использует в качестве разделителей строк не тоже самое, что внешние таблицы в FB. В винде для разделителя строк обычно используется #13#10. Что используется в FB хз, но подозреваю что только один из этих символов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:06:10 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLмне нужно "сливать" из 1с в FB в эту базу данныеНу дык и лей напрямую, например через IBProvider, нахрена костыли в виде промежуточных файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:40:09 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, эта база находиться не под рукой и скоростного инета + куча трафика там нет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:47:35 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Hello, Симонов Денис! You wrote on 3 апреля 2014 г. 11:47:50: Симонов Денис> Что используется в FB хз, но подозреваю что только один из этих символов в FB нет такого понятия применительно к внешним файлам. вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 11:49:12 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
0xFFJuniorSQL> DDL couponsFile: > SET SQL DIALECT 3; > CREATE TABLE "couponsFile" EXTERNAL 'C:\FILE.TXT' ( > "code" CHAR(13), > NEWLINE CHAR(1) > ); У меня - температура... У меня при таком ddl талбица странная получается!.. -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 14:53:47 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
JuniorSQLЗ.Ы. roadster, кидай номер ЯД. вечером отмечусь.нет у меня ЯД. не надо отмечаться. ЗЫ опять я в пролёте с бабками, придётся так и жить на одну зарплату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 10:45:01 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
и ещё по поводу этого JuniorSQLSELECT (SUBSTRING("couponsFile"."code" FROM 1 FOR 13)) From "couponsFile"если вдруг длина больше или меньше, то будут проблемы, поэтому удалять лишние символы было бы предпочтительнее, ну или замена с использованием replace() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 10:49:50 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
Там скорее всего разделитель строк - 2 символа. Соответственно внешнюю таблицу нужно создавать так- Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 11:09:15 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
stelvic> Там скорее всего разделитель строк - 2 символа. Соответственно внешнюю таблицу нужно создавать так- > CREATE TABLE "couponsFile" EXTERNAL 'C:\FILE.TXT' ( > "code" CHAR(13), -- или CHAR(12) нужно просто посчитать количество видимых символов в строке файла. > NEWLINE CHAR(2) > ); А вот ни фига он так не хочет!.. При таком раскладе только null;null получается... -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 13:13:43 |
|
||
|
Очень медленно работает UPDATE
|
|||
|---|---|---|---|
|
#18+
zirra> А вот ни фига он так не хочет!.. При таком раскладе только null;null получается... Я ж сразу говорил, что у меня температура... База-то в UTF-8... Потому не так и не то читала... Код: sql 1. 2. 3. 4. -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 13:24:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563746]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
95ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 526ms |

| 0 / 0 |
