|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Petro123Итератор служит чисто для перебора по кортежу, т.е. этап формирования и фильтров уже пройден а мне кажется задумка в том, что благодаря итератору мы можем в любой момент остановиться, когда решим, что уже нашли достаточно. так что не факт, что формирование уже окончено и уж тем более фильтрация. ну если мы реально собрались шерстить всю базу, то имеет смысл это делать только в момент вызова hasNext ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:43 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
я кажется понял фразу "как в гугле" :) тогда у нас есть общее и различное в подходе к поиску я в базе ищу 1 запись. когда мне вываливается список из 10 записей - я ищу в нем "глазами" в терминологии mayton - гугл вывалил набор , он в нем выбрал фразу и гугл предложил кучу страниц для поиска "глазами" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:45 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
chpashaа мне кажется задумка в том, что благодаря итератору мы можем в любой момент остановиться, когда решим, что уже нашли достаточно. так что не факт, что формирование уже окончено и уж тем более фильтрация. ну если мы реально собрались шерстить всю базу, то имеет смысл это делать только в момент вызова hasNextно тогда мы должны из базы загрузить всё в итератор. и шагать по нему используя тот же like при каждом шаге. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:48 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonЧеловек который ищет информацию - обычно не различает числа-строки-даты. Он ищет проивольный текст. Номер счета в банке в формате хххх-хххх-хххх.... Налоговый номер который не всегда число. Номер телефона который в принципе никогда (повертье мне) не был числом. SysGUID транзакции в терминале. Название юр-лица которое вызывает интерес. И любая другая инфа которая интересна вам если вы - частный детектив. Сотрудник налоговой. Спецслужб. Или просто любопытный кул-хацкер. Неважно.я уже показал что происходит при поиске с помощью like в числовом поле - оно преобразуется в текстовое если мне надо найти в нескольких полях некоторые из которых числовые , я воспользуюсь (буду говорить о mysql т.к. последнее время только с ней и работаю) оператором concat_ws(' ' , поле1, поле2...) любое числовое поле попав в этот оператор превращается в строку. Конкатенация - тяжелая операция. На некоторых DBMS сущетсвует ограничение на длину строки. Велик шанс поймать ошибку SQL-машины. Концептуально - я не против но нужен тестинг и еще раз тестинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:50 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
то что ищет гугл называется "полнекстовой поиск" гугл вывалил несколько фраз и ищет вхождение слов/словоформ из этих фраз и предлагает кучу страниц для поиска глазами в моём применение найти четко одну запись, а для поиска глазами предоставить максимум 10 строк ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:54 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяно тогда мы должны из базы загрузить всё в итератор вовсе нет. у нас в итераторе есть внутренее состояние в виде плагинов, которые каким-то образом осуществляют поиск и ведут учет уже посещенных таблиц, полей и записей. соответственно только при вызове hasNext мы стартуем сканирование, при нахождении следующей записи (или блока записей) останавливаемся и возвращаем true, при вызове next() саму запись. При следующем вызове если у нас есть записи в кэше, возращаем их, иначе лезем в БД. Т.е. это что-то типа ленивого поиска з.ы. Это мое предположение, я не знаю, что там mayton задумал - он известный затейник ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:54 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Вы щас полнотекстовый поиск изобретаете) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 16:59 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonКонкатенация - тяжелая операция. На некоторых DBMS сущетсвует ограничение на длину строки. Велик шанс поймать ошибку SQL-машины. Концептуально - я не против но нужен тестинг и еще раз тестинг.да особенно в java в субд есть вариант при добавлении записи иметь поле в котором будут записана строка соединённая из всех полей в которых возможен поиск. в mysql появилась возможность виртуализации полей Код: sql 1.
и надо сказать стоимость такой операции ниже плинтуса и в 21670315 как раз и тестируется ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:03 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
chpashaвовсе нет. у нас в итераторе есть внутренее состояние в виде плагинов, которые каким-то образом осуществляют поиск и ведут учет уже посещенных таблиц, полей и записей. соответственно только при вызове hasNext мы стартуем сканирование, при нахождении следующей записи (или блока записей) останавливаемся и возвращаем true, при вызове next() саму запись. При следующем вызове если у нас есть записи в кэше, возращаем их, иначе лезем в БД. Т.е. это что-то типа ленивого поискакак бы это ни крутилось оно работает через jdbc и в конечном итога загружает все данные из базы в java и дублирует работу субд ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:05 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
mayton, В твоем топике перебор табл на основе инфы из базы? Там вроде api разное для ДайИменаТаблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:05 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадято что ищет гугл называется "полнекстовой поиск" гугл вывалил несколько фраз и ищет вхождение слов/словоформ из этих фраз и предлагает кучу страниц для поиска глазами в моём применение найти четко одну запись, а для поиска глазами предоставить максимум 10 строк Гугл работает сложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:06 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonГугл работает сложнее.само собой, но в первом приближении где-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:07 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадякак бы это ни крутилось оно работает через jdbc и в конечном итога загружает все данные из базы в java и дублирует работу субд Нет. Итератор For i table.count() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:08 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonГугл работает сложнее.но и он конечный выбор предлагает делать "глазами" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:08 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Как и обещал. Форкнул здесь 21673897 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:09 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Petro123mayton, В твоем топике перебор табл на основе инфы из базы? Там вроде api разное для ДайИменаТаблиц. Т.е. это будет БДзависимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:09 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Petro123Нет. Итератор For i table.count()что нет? чтоб что-то найти в данных надо их иметь, либо загрузить все сразу ,либо подгружать по мере надобности а подгружать/загружать откуда ? из базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:10 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonГугл работает сложнее.но и он конечный выбор предлагает делать "глазами" Все на чем ты сейчас настаиваешь называется 1 словом pagination. И я упаси меня господь вовсе не против этого замечательного процесса. Давай уже поскипаем. Но беря во внимание что мы ищем не в 1 таблице а в сете таблиц я тебе предлагаю подумать каким образом и что ты там будешь лимитировать по TOP N (like MySQL) или ROWNUM < N (Like Oracle) и расскажи как ты себе это представляешь для execution plan. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:11 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадязагружает все данные из базы не обязательно. вернее практически никогда - это же зависит от клиента, т.е. если ты не написал while.hasNext, то и не загрузит вадяи дублирует работу субд тоже нет. опять же таки, если я понял, mayton предложил что-то типа универсального интерфейса для поиска в бд. я так понял, что не предлагается грузить записи и искать в них средствами java (тогда это было бы дублированием). вернее можно и такую реализацию сделать, но можно и реализации, которая точно так же генерит запросы к бд, тогда дублирования нет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:12 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Petro123Т.е. это будет БДзависимо.не спорю. ту выбор - либо ловить блох на тонкостях каждой субд, ибо универсальнос к субд и забыть о быстродействии ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:12 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Petro123Petro123mayton, В твоем топике перебор табл на основе инфы из базы? Там вроде api разное для ДайИменаТаблиц. Т.е. это будет БДзависимо. Моя интуиция подсказывает мне что Java Database Connectivity все таки спасет нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:12 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
chpashaтоже нет. опять же таки, если я понял, mayton предложил что-то типа универсального интерфейса для поиска в бд. я так понял, что не предлагается грузить записи и искать в них средствами java (тогда это было бы дублированием). вернее можно и такую реализацию сделать, но можно и реализации, которая точно так же генерит запросы к бд, тогда дублирования нетвот я и склоняюсь ко второму варианту генерится запрос(не важно каким образом) и получается результат , который в читабельном виде отправляется клиенту ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:14 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяв mysql появилась возможность виртуализации полей Код: sql 1.
Нет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск. Обойдемся возможностями Java. В идеале нам дадут доступ R/O. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:16 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonНет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск. Обойдемся возможностями Java. В идеале нам дадут доступ R/O.вот это и есть ограничения. тогда надо добавить условие базонезависимость. и при этих ограничениях и откажусь от участия. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:19 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonНет. Мы не будем изменять объекты БД лишь только для того чтобы получить поиск. Обойдемся возможностями Java. В идеале нам дадут доступ R/O.вот это и есть ограничения. тогда надо добавить условие базонезависимость. и при этих ограничениях и откажусь от участия. Раскрой мне термин - базонезависимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:24 |
|
|
start [/forum/topic.php?fid=59&msg=39702251&tid=2121789]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 494ms |
0 / 0 |