Помогите Медленная запись в SQLite.

Статус
Закрыто для дальнейших ответов.

Lisenochek

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Lisenochek
Всем привет. Совсем не знаю, что мне делать. При записи в базу проходит задержка, а если записей будет много, так вообще сервер может повиснуть, например установив блок мне нужно записывать его в базу и в мапу параллельно, что мне очень нужно, но как это сделать с минимальными задержками не знаю. Параметр synchronous отключил, но это мало дало результата. Подскажите, что можно сделать или есть какие-нибудь аналоги?
 
Я просто промолчу.
Да че тут молчать? У тебя каждую строчку кода надо тупо в помойку слить. Тупая синхронизация, нет инкапсуляции, stateful статик, зачем то добавил синхронизацию когда у тебя методы даже не асинхронные…
Читай прошлые посты и хорош возникать тут без оснований.
Я тебе уже сказал идти читать основы явы, если ты не можешь повесить лок на квери до создания таблиц, то это уже о чем-то говорит, а говорит о том что у тебя нулевые знания в яве
 
Да че тут молчать? У тебя каждую строчку кода надо тупо в помойку слить. Тупая синхронизация, нет инкапсуляции, stateful статик, зачем то добавил синхронизацию когда у тебя методы даже не асинхронные…

Я тебе уже сказал идти читать основы явы, если ты не можешь повесить лок на квери до создания таблиц, то это уже о чем-то говорит, а говорит о том что у тебя нулевые знания в яве
Не могу сделать одну вещь -> нулевые знания. Парень, у тебя явно что-то с головой не то.
 
Не могу сделать одну вещь -> нулевые знания. Парень, у тебя явно что-то с головой не то.
Причем тут одна вещь? Я тебе уже сказал, то что нет инкапсуляции, ты вообще даже не понимаешь суть многопоточности, из за этого навешал везде синхронайзды
 
Причем тут одна вещь? Я тебе уже сказал, то что нет инкапсуляции, ты вообще даже не понимаешь суть многопоточности, из за этого навешал везде синхронайзды
Этот класс я писал год назад и после этого ни черта не менял. Сделать инкапсуляцию мне несложно, а асинхрон я убрал потому что результат я получаю от метода с задержкой и получаю NPE. Я пока не нашел решение этой проблемы. Да, может я в многопоточности ноль, но это не значит, что я нихрена не знаю.
 
Этот класс я писал год назад и после этого ни черта не менял. Сделать инкапсуляцию мне несложно, а асинхрон я убрал потому что результат я получаю от метода с задержкой и получаю NPE. Я пока не нашел решение этой проблемы. Да, может я в многопоточности ноль, но это не значит, что я нихрена не знаю.
То есть ты больше года кодишь и все равно нихрена не понимаешь? Земля пухом.
Ты щас попросишь пояснить, почему тебе говорят, что ты нихрена не знаешь, лучше напиши, что ты знаешь, чтобы тебе конкретно по этим местам поясняли, а не оправдывайся тем, что "Я одну вещь всего лишь не знаю".
 
То есть ты больше года кодишь и все равно нихрена не понимаешь? Земля пухом.
Ты щас попросишь пояснить, почему тебе говорят, что ты нихрена не знаешь, лучше напиши, что ты знаешь, чтобы тебе конкретно по этим местам поясняли, а не оправдывайся тем, что "Я одну вещь всего лишь не знаю".
Земля пухом тебе, потому что ты начинаешь вырывать смысл из контекста. Я нигде не говорил, что ничего не понимаю. Я сказал, что конкретно не понимаю суть асинхронных потоков и как их создавать.

Жду снова вырывания смысла из контекста, не подкрепленные чисто ничем.
 
Вообще рубаккит - портал, где по идее помогают и я пришел сюда потому что я не могу разобраться с конкретной проблемой. Вместо этого меня начали тыкать в пособия по джаве, когда я и так разбираюсь в неоторых основах. Не хотите помогать, лучше не выпендриваться и не засорять без того засоренную тему.
 
Вообще рубаккит - портал, где по идее помогают и я пришел сюда потому что я не могу разобраться с конкретной проблемой. Вместо этого меня начали тыкать в пособия по джаве, когда я и так разбираюсь в неоторых основах. Не хотите помогать, лучше не выпендриваться и не засорять без того засоренную тему.
Да тебе в самом начале скинули метод чтоб ты юзал асинк шедулер, а ты начал выпендриваться что это типо ‘медленно’
 
Да тебе в самом начале скинули метод чтоб ты юзал асинк шедулер, а ты начал выпендриваться что это типо ‘медленно’
Это не медленно. Это происходит с задержкой и ResultSet выдает null в методах, где надо прочитать данные.
 
Ееее люблю рубаккит за то, что тут каждый может каждого п*дором назвать)))))
Ладно Лисеночек(Мур), давай чуть-чуть изменим твой код. Во-первых, давай подумаем что должен делать класс с БД. У тебя в методе есть openConnection, closeConnection и executeQuery. Давай чуть-чуть изменим, и сделаем так: https://hastebin.com/yamoqowivo.java . Думаю интуитивно тут все понятно. Далее реализуем этот интерфейс для H2: https://hastebin.com/qujuxixuza.java . Вроде все. Юзать можно и с runTaskAsync();
 
Ееее люблю рубаккит за то, что тут каждый может каждого п*дором назвать)))))
Ладно Лисеночек(Мур), давай чуть-чуть изменим твой код. Во-первых, давай подумаем что должен делать класс с БД. У тебя в методе есть openConnection, closeConnection и executeQuery. Давай чуть-чуть изменим, и сделаем так: https://hastebin.com/yamoqowivo.java . Думаю интуитивно тут все понятно. Далее реализуем этот интерфейс для H2: https://hastebin.com/qujuxixuza.java . Вроде все. Юзать можно и с runTaskAsync();
Хорошо. Я сделал интерфейс и наследовал им же класс с базой, но вопрос - зачем нужен интерфейс, если я наследую им только один класс?
 
Хорошо. Я сделал интерфейс и наследовал им же класс с базой, но вопрос - зачем нужен интерфейс, если я наследую им только один класс?
Если захочешь поменять БД (как сейчас, например), ты просто делаешь второй класс с таким же интерфейсом и больше ничего в коде менять не надо.
 
Если захочешь поменять БД (как сейчас, например), ты просто делаешь второй класс с таким же интерфейсом и больше ничего в коде менять не надо.
Да, в этом суть интерфейса, но зачем мне интерфейс, если база у меня по факту одна. Почему не реализовывать весь функционал сразу на месте?
 
Да, в этом суть интерфейса, но зачем мне интерфейс, если база у меня по факту одна. Почему не реализовывать весь функционал сразу на месте?
Для переиспользуемости. Чтобы ты мог потом этот же код использовать в другом плагине
 
Для переиспользуемости. Чтобы ты мог потом этот же код использовать в другом плагине
Ну да, весомый аргумент, т.е придется клепать плагин-аддон, который предоставит другому плагину набор интерфейсов? Не кажется ли тебе это заморочкой?
 
Ну да, весомый аргумент, т.е придется клепать плагин-аддон, который предоставит другому плагину набор интерфейсов? Не кажется ли тебе это заморочкой?
Если тебя это так тригерит, то можно просто закинуть либу ядро. Конечно перед этим скомпилив её.
 
Ну да, весомый аргумент, т.е придется клепать плагин-аддон, который предоставит другому плагину набор интерфейсов? Не кажется ли тебе это заморочкой?
Зачем? Просто копипастишь этот инетрфейс и его реализации.
В конечном итоге многие приходят к тому, что пишут себе "ядро", которое потом используют во всех своих плагинах. Хотя такой подход имеет серьезные недостатки
 
Зачем? Просто копипастишь этот инетрфейс и его реализации.
В конечном итоге многие приходят к тому, что пишут себе "ядро", которое потом используют во всех своих плагинах. Хотя такой подход имеет серьезные недостатки
Так можно взять и также копипастить готовые классы с реализацией.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх