|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
Здраствуйте. Вот целый день маюсь с проблемой... Имееться Программа на сишарп и модуль sqlite-netFx35-binary-bundle-Win32-2008-1.0.77.0 Программа работает в несколько потоков с одной таблицей, и каждый поток должен получать из таблици одну запись Хотель решить проблему с помощю запроса Код: sql 1.
А потом уже взять эту запись для этого потока Код: sql 1.
Проблема в том, что LIMIT при UPDATE по умолчанию отключен.... Довольно долго ломаю голову... Может у кого-то есть идеи как решить проблему? Как включить LIMIT нигде не написано, точнее написано, что нужно скомпилить с этой опцией.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2011, 22:36 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
Alex NEВот целый день маюсь с проблемой... .... Программа работает в несколько потоков с одной таблицей, и каждый поток должен получать из таблици одну запись Не надо маятся. Надо сначала ответить: Если я поток А, какую запись я должен получить? А я поток Б, какую запись я должен получить? А вот пришел поток В, какую запись он должен получить? Вот когда ты сможешь сказать как различить между собой две записи, как ответить какая из них какому потоку принадлежит - тогда ты увидишь что слово LIMIT вообще не нужно. Слово LIMIT вообще никогда не нужно. Если ты считаешь что оно для чего-то нужно - то ты неправильно читаешь данные. Нет на свете задач требующих LIMIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:22 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
нет нет, тут записи не разделены на потоки! Ви видимо не поняли зачем вобще в програме потоки. Так вот в моем случае количество потоков определяет скорость обработки данных. В таблице все записи относяться к каждому потоку, и каждый поток должен получить запись, которая не была предоставленна для другого потока, и обработать эти данные ..... вот и проблема.. Количество потоков Динамичное, их может быть 5 а может и 50. Это зависит насколько быстро надо обработать данные. Нагрузки на проц при этом не столь важны, важно обработать это всё... Да и я уже забросил SQLite, ищу решения в другими способами... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:41 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
Alex NEнет нет, тут записи не разделены на потоки! Ви видимо не поняли зачем вобще в програме потоки. Так вот в моем случае количество потоков определяет скорость обработки данных.Скорость обработки данных увеличением количества потоков не поднять. У тебя в любом случае всего один процессор. Если у тебя один поток - весь процессор занят этим одним потоком. Если два потока, то процессор почитает один поток, потом заморозит его, начнет считать другой поток. Потом заморозит второй и начнет считать первый. И так далее... Паралелльно потоки будут считаться только если процессоров много. Но опять - количество процессов можно поднимать только до тех пор пока процессоров будет хватать. После этого увеличение числа потоков это уменьшение производительности. Учи матчасть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 01:15 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
White Owl, Нет, вы не правы! Вы же не знаете всей ситуации. В каждом потоке и так идут задержки для обработки одной строки базы. В Каждой строке базы храняться данные Что Как И кудой их обработать. Имменно эта обработка занимает время И не грузит процесор. Иммено поетому обработка в несколько потоков ефективнее! Увы Но это проверено мною В предыдущих версиях программы! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 02:22 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
White OwlСлово LIMIT вообще никогда не нужно. Если ты считаешь что оно для чего-то нужно - то ты неправильно читаешь данные. Нет на свете задач требующих LIMIT. Ну да, конечно :) авторПрограммист не приходит на работу - день, два, неделю. Коллеги и начальство в ужасе и бешенстве: на телефон он также не отвечает. Приехали, взломали дверь, а программист стоит под душем и моет, моет, моет голову - на бутылочке от шампуня прочёл алгоритм "Нанести шампунь на волосы, смыть, повторить" Обычно LIMIT + OFFSET используются в целях постраничного вывода. Также LIMIT нужен при построении различных очередей и стэков - для выборки одного или нескольких элементов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 04:15 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
Alex NEВ Каждой строке базы храняться данные Что Как И кудой их обработать. Имменно эта обработка занимает время И не грузит процесор.Ага, Святой Дух вам делает расчеты. Конечно-конечно. Alex NE Иммено поетому обработка в несколько потоков ефективнее! Увы Но это проверено мною В предыдущих версиях программы!Во первых воспользуйся орфографическим словарем, тебя читать неприятно. Во вторых почини клавиатуру и не делай случайных больших букв. В третьих, ты так и не ответил чем запись для одного потока отличается от записи для другого потока. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 06:57 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
MBGОбычно LIMIT + OFFSET используются в целях постраничного вывода.Используются, не означает что они необходимы. Любой постраничный вывод можно сделать нормальными запросами. Надежней это будет, чем почти гарантированная потеря или повторное получение строк при использовании limit+offset. MBGТакже LIMIT нужен при построении различных очередей и стэков - для выборки одного или нескольких элементов.А зачем строить очереди и стэки в изначально кортэжной парадигме? Но если очень хочется - курсоры и сортировка по потенциальным ключам всегда спасут. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 07:07 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
White Owl, Во-первых, я обратился сюда за помощу. Во-вторых, я писал сообщение ночью и был уставший, мне как-то небыло дела до правильности написания. Не нравиться, не читай! Во-третьих, шол бы ты куда подальше! Всем спасибо, решение найдено, тема ЗАКРЫТА! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 16:50 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
Alex NE сишарп и модуль sqlite-netFx35-binary-bundle-Win32-2008-1.0.77.0 . извиняюсь я правильно понял, для того, чтобы использовать скллайт с сишарпом, отсюда http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki надо скачать для заданного номера фреймворка заданный бандл (bundle)? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 09:57 |
|
SQLite 3 Update Limit
|
|||
---|---|---|---|
#18+
White Owl Любой постраничный вывод можно сделать нормальными запросами. Надежней это будет, чем почти гарантированная потеря или повторное получение строк при использовании limit+offset. нормальные запросы это тут описаны или есть более нормальные? http://www.sql.ru/forum/actualthread.aspx?tid=134559 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2013, 10:05 |
|
|
start [/forum/topic.php?fid=54&msg=37581373&tid=2008915]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 151ms |
0 / 0 |