powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC необязательные параметры
25 сообщений из 158, страница 6 из 7
JDBC необязательные параметры
    #39702231
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Итератор служит чисто для перебора по кортежу, т.е. этап формирования и фильтров уже пройден
а мне кажется задумка в том, что благодаря итератору мы можем в любой момент остановиться, когда решим, что уже нашли достаточно. так что не факт, что формирование уже окончено и уж тем более фильтрация. ну если мы реально собрались шерстить всю базу, то имеет смысл это делать только в момент вызова hasNext
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702233
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я кажется понял фразу "как в гугле" :)
тогда у нас есть общее и различное в подходе к поиску
я в базе ищу 1 запись.
когда мне вываливается список из 10 записей - я ищу в нем "глазами"
в терминологии mayton - гугл вывалил набор , он в нем выбрал фразу и гугл предложил кучу страниц для поиска "глазами"
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702234
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaа мне кажется задумка в том, что благодаря итератору мы можем в любой момент остановиться, когда решим, что уже нашли достаточно. так что не факт, что формирование уже окончено и уж тем более фильтрация. ну если мы реально собрались шерстить всю базу, то имеет смысл это делать только в момент вызова hasNextно тогда мы должны из базы загрузить всё в итератор. и шагать по нему используя тот же like при каждом шаге.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702236
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmaytonЧеловек который ищет информацию - обычно не различает числа-строки-даты. Он ищет проивольный текст.
Номер счета в банке в формате хххх-хххх-хххх.... Налоговый номер который не всегда число. Номер телефона
который в принципе никогда (повертье мне) не был числом. SysGUID транзакции в терминале. Название юр-лица
которое вызывает интерес. И любая другая инфа которая интересна вам если вы - частный детектив. Сотрудник
налоговой. Спецслужб. Или просто любопытный кул-хацкер. Неважно.я уже показал что происходит при поиске с помощью like в числовом поле - оно преобразуется в текстовое
если мне надо найти в нескольких полях некоторые из которых числовые , я воспользуюсь (буду говорить о mysql т.к. последнее время только с ней и работаю)
оператором concat_ws(' ' , поле1, поле2...)
любое числовое поле попав в этот оператор превращается в строку.
Конкатенация - тяжелая операция. На некоторых DBMS сущетсвует ограничение на длину строки.
Велик шанс поймать ошибку SQL-машины.
Концептуально - я не против но нужен тестинг и еще раз тестинг.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702237
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то что ищет гугл называется "полнекстовой поиск"
гугл вывалил несколько фраз и ищет вхождение слов/словоформ из этих фраз
и предлагает кучу страниц для поиска глазами

в моём применение найти четко одну запись, а для поиска глазами предоставить максимум 10 строк
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702239
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно тогда мы должны из базы загрузить всё в итератор
вовсе нет. у нас в итераторе есть внутренее состояние в виде плагинов, которые каким-то образом осуществляют поиск и ведут учет уже посещенных таблиц, полей и записей. соответственно только при вызове hasNext мы стартуем сканирование, при нахождении следующей записи (или блока записей) останавливаемся и возвращаем true, при вызове next() саму запись. При следующем вызове если у нас есть записи в кэше, возращаем их, иначе лезем в БД. Т.е. это что-то типа ленивого поиска

з.ы. Это мое предположение, я не знаю, что там mayton задумал - он известный затейник
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702242
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы щас полнотекстовый поиск изобретаете)
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702245
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКонкатенация - тяжелая операция. На некоторых DBMS сущетсвует ограничение на длину строки.
Велик шанс поймать ошибку SQL-машины.
Концептуально - я не против но нужен тестинг и еще раз тестинг.да особенно в java
в субд есть вариант при добавлении записи иметь поле в котором будут записана строка соединённая из всех полей в которых возможен поиск.
в mysql появилась возможность виртуализации полей
Код: sql
1.
zz blob GENERATED ALWAYS AS (CONCAT_WS(' ', `Name`, `BrandName`)) VIRTUAL,


и надо сказать стоимость такой операции ниже плинтуса
и в 21670315 как раз и тестируется
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702249
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaвовсе нет. у нас в итераторе есть внутренее состояние в виде плагинов, которые каким-то образом осуществляют поиск и ведут учет уже посещенных таблиц, полей и записей. соответственно только при вызове hasNext мы стартуем сканирование, при нахождении следующей записи (или блока записей) останавливаемся и возвращаем true, при вызове next() саму запись. При следующем вызове если у нас есть записи в кэше, возращаем их, иначе лезем в БД. Т.е. это что-то типа ленивого поискакак бы это ни крутилось оно работает через jdbc и в конечном итога загружает все данные из базы в java и дублирует работу субд
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702250
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
В твоем топике перебор табл на основе инфы из базы?
Там вроде api разное для ДайИменаТаблиц.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702251
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадято что ищет гугл называется "полнекстовой поиск"
гугл вывалил несколько фраз и ищет вхождение слов/словоформ из этих фраз
и предлагает кучу страниц для поиска глазами

в моём применение найти четко одну запись, а для поиска глазами предоставить максимум 10 строк
Гугл работает сложнее.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702253
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonГугл работает сложнее.само собой, но в первом приближении где-то так
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702254
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак бы это ни крутилось оно работает через jdbc и в конечном итога загружает все данные из базы в java и дублирует работу субд
Нет. Итератор
For i table.count()
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702255
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonГугл работает сложнее.но и он конечный выбор предлагает делать "глазами"
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702256
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и обещал. Форкнул здесь 21673897
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702257
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mayton,
В твоем топике перебор табл на основе инфы из базы?
Там вроде api разное для ДайИменаТаблиц.
Т.е. это будет БДзависимо.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702259
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Нет. Итератор
For i table.count()что нет? чтоб что-то найти в данных надо их иметь, либо загрузить все сразу ,либо подгружать по мере надобности
а подгружать/загружать откуда ? из базы.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702260
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmaytonГугл работает сложнее.но и он конечный выбор предлагает делать "глазами"
Все на чем ты сейчас настаиваешь называется 1 словом pagination. И я упаси меня господь вовсе не против
этого замечательного процесса. Давай уже поскипаем.

Но беря во внимание что мы ищем не в 1 таблице а в сете таблиц я тебе предлагаю подумать каким образом
и что ты там будешь лимитировать по TOP N (like MySQL) или ROWNUM < N (Like Oracle) и расскажи как ты
себе это представляешь для execution plan.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702261
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадязагружает все данные из базы
не обязательно. вернее практически никогда - это же зависит от клиента, т.е. если ты не написал while.hasNext, то и не загрузит

вадяи дублирует работу субд
тоже нет. опять же таки, если я понял, mayton предложил что-то типа универсального интерфейса для поиска в бд. я так понял, что не предлагается грузить записи и искать в них средствами java (тогда это было бы дублированием). вернее можно и такую реализацию сделать, но можно и реализации, которая точно так же генерит запросы к бд, тогда дублирования нет
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702262
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Т.е. это будет БДзависимо.не спорю.
ту выбор - либо ловить блох на тонкостях каждой субд, ибо универсальнос к субд и забыть о быстродействии
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702263
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Petro123mayton,
В твоем топике перебор табл на основе инфы из базы?
Там вроде api разное для ДайИменаТаблиц.
Т.е. это будет БДзависимо.
Моя интуиция подсказывает мне что Java Database Connectivity все таки спасет нас.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702264
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaтоже нет. опять же таки, если я понял, mayton предложил что-то типа универсального интерфейса для поиска в бд. я так понял, что не предлагается грузить записи и искать в них средствами java (тогда это было бы дублированием). вернее можно и такую реализацию сделать, но можно и реализации, которая точно так же генерит запросы к бд, тогда дублирования нетвот я и склоняюсь ко второму варианту генерится запрос(не важно каким образом) и получается результат , который в читабельном виде отправляется клиенту
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702267
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв mysql появилась возможность виртуализации полей
Код: sql
1.
zz blob GENERATED ALWAYS AS (CONCAT_WS(' ', `Name`, `BrandName`)) VIRTUAL,



Нет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск.
Обойдемся возможностями Java.

В идеале нам дадут доступ R/O.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702270
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск.
Обойдемся возможностями Java.

В идеале нам дадут доступ R/O.вот это и есть ограничения.
тогда надо добавить условие базонезависимость.
и при этих ограничениях и откажусь от участия.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39702275
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmaytonНет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск.
Обойдемся возможностями Java.

В идеале нам дадут доступ R/O.вот это и есть ограничения.
тогда надо добавить условие базонезависимость.
и при этих ограничениях и откажусь от участия.
Раскрой мне термин - базонезависимость.
...
Рейтинг: 0 / 0
25 сообщений из 158, страница 6 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC необязательные параметры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]