|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Korcarв общем 4 запроса сделал. надеюсь годно получилось?????? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:11 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonPetro123mayton, Может я не понял идею, но выше увидел только декларацию интерфейса. Намерения. Реализацию не увидел. Совершенно верно. Я обсуждаю пока только идею на уровне фасада. Или того угла зрения под которым на это будут смотреть. Вам нравится идея? Да конечно, для фасада идея здравая и разумная. Только цели ТС просто поговорить или трёп со смыслом были видны с первым постом). Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:30 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonДавайте сверх-задачу. Мы не знаем сведений о СУБД.это будет сразу не оптимально. mayton1) Like создает нагрузку класса full-table scan.ну фулскан для like не имеет смысла, потому как поиск по like подразумевает не полную информацию о искомом, как правило отдельные части содержимого и порядок вхождения этих частей не известен поэтому сканировать полностью таблицу нет смысла - вернёт много чего лишнего следовательно надо ограничиться в приемлемое число возвращаемых записей - супермаксимум 20, реально 5 достаточно если в найденном нет искомого - добавляем дополнительный like . запускаем поиск - как правило находим уже с помощью глаз :) практически - в 28000записях - достаточно 2 like в 3лямах 3-4 нагрузка на субд практически нулевая- если у вас база в 3ляма записей для оперативной работы, значит и железо будете для этого использовать нормальное, и память не пожалеете. в моём примере 2.9лямов - 660мег на диске, выделяем 5гиг памяти - и поиск like происходит в памяти, без обращения к диску. по скорости - при 28000 записях - на слабом железе и малой памяти - отображение при вводе каждого символа происходит практически мгновенно . при 2.9млн - 3like -1.6 сек/ 1like-0.3сек(хорошее железо)нагрузка на проц на заметна по диспетчеру задач... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:33 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяKorcarв общем 4 запроса сделал. надеюсь годно получилось?????? у меня запроса всего 4, а вопросов у тебя аж 6! чего спрашиваешь то? тебе наверное надо умерить аппетиты) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:48 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
Korcarу меня запроса всего 4, а вопросов у тебя аж 6! чего спрашиваешь то? тебе наверное надо умерить аппетиты)у меня 1 запрос как ты насчитал 6? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:52 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonДавайте сверх-задачу. Мы не знаем сведений о СУБД.это будет сразу не оптимально. Так что. Откажешся кодить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 11:58 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonТак что. Откажешся кодить?сделаю оптимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:07 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяпоэтому сканировать полностью таблицу нет смысла - вернёт много чего лишнего следовательно надо ограничиться в приемлемое число возвращаемых записей - супермаксимум 20, реально 5 достаточно Почему 20? Почему 5? Если клиент захочет все? если в найденном нет искомого - добавляем дополнительный like . Зачем? Допустим есть табличка T1, с полями F1,F2,F3...... Я сразу пишу Код: plsql 1. 2. 3. 4. 5.
И решаю задачу целиком. Если оптимизатор выбрал full table scan то ему уже пофиг сколько OR LIKE предикатов будет стоять 1 и сотня. Тем более что по булевой логике первый сработавший предикат прерывает цепочку сравнений. запускаем поиск - как правило находим уже с помощью глаз :) Никаких глаз. Глаза врут. К чорту глаза. практически - в 28000записях - достаточно 2 like в 3лямах 3-4 Вообще не понял эту бухгалтерию. Почему 2? Почеу 3 ляма? при 2.9млн - 3like -1.6 сек/ 1like-0.3сек(хорошее железо)нагрузка на проц на заметна по диспетчеру задач... (морщится) При чем здесь это? Что это за метрики? Давайте пока не будем это учитывать. Бесполезная инфа и к моему предлагаемому интерфейсу не несет никакой пользы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:10 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonТак что. Откажешся кодить?сделаю оптимально. Сделай. Интерфейс видел? Кодь. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:10 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяну фулскан для like не имеет смысла по-моему кто-то кого-то не так понял. когда ты пишешь запрос вида like - бд может быть вынуждена просканировать все записи - это называется full scan ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:17 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
chpashaвадяну фулскан для like не имеет смысла по-моему кто-то кого-то не так понял. когда ты пишешь запрос вида like - бд может быть вынуждена просканировать все записи - это называется full scan Зачем веселье портишь? Я ждал следующих перлов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:20 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonПочему 20? Почему 5? Если клиент захочет все?потому что такой поиск оптимален когда вывод происходит по мере ввода если данныз не много ~30000, можно начинать поиск с 1 введённого(теоретически - глупо, но проще код, меньше проверок) и соответственно при 1 введённом символе выведет почти всё при 2 символах чуть меньше. соответственно первоначально есть смысл ограничить набор найденного, при наборе 2групп символов (если чел знает что ищет) набор найденного уже 5-10 позиций это при исходных данных в 30000. это из практических наблюдений. Код: sql 1. 2. 3. 4.
тут ты получишь ахинею Код: sql 1. 2. 3. 4.
так ты получишь искомое maytonНикаких глаз. Глаза врут. К чорту глаза. в 5-10 строчках глаз не соврёт - проверено практикой [quote mayton]Вообще не понял эту бухгалтерию. Почему 2? Почеу 3 ляма? [quote ]оговорка по Фрейду реально проверено на таблице в 2 950 000 , поэтому и 2-3 ляма maytonПри чем здесь это? Что это за метрики? Давайте пока не будем это учитывать. Бесполезная инфа и к моему предлагаемому интерфейсу не несет никакой пользы.это инфа к сведению что б было что сравнивать по скорости ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:30 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
chpashaпо-моему кто-то кого-то не так понял. когда ты пишешь запрос вида like - бд может быть вынуждена просканировать все записи - это называется full scan если ты ввёл 2 символа и вываливаешь всё что нашёл этот like- этот объём никому не нужен. поэтому и не смысла делать фулскан, есть смысл остановить его при нахождении 5-10 записей и добавить что выбрано очень много -добавьте критерии для фильтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:36 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonСделай. Интерфейс видел? Кодь.у меня сделано для веб без всяких интерфейсов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:40 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадятут ты получишь ахинею Код: sql 1. 2. 3. 4.
так ты получишь искомое Ты понимаешь что такое поиск like a Google? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:42 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonСделай. Интерфейс видел? Кодь.у меня сделано для веб без всяких интерфейсов :) Покеж. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:42 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonТы понимаешь что такое поиск like a Google? а ты что хочешь найти? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:47 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяпоэтому и не смысла делать фулскан, есть смысл остановить его Это как? Слезно попросить ДБ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:51 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonПокеж.дай набор данных сделаю демку. или могу выложть кусок кода который обрабатывает на сервере строку типа ыва ннн вааыв преобразует её для динамического запроса в хранимке и по ответу строит таблицу для выподающего списка ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:51 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
забыл никЭто как? Слезно попросить ДБ?не помню как в mssql, но в mysql есть Limit n ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:52 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonТы понимаешь что такое поиск like a Google? а ты что хочешь найти? Это неважно Твой второй запрос не будет работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:55 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonТы понимаешь что такое поиск like a Google?для того чтоб найти что-то в одном поле надо так Код: sql 1. 2. 3. 4.
что б в нескольких полях Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 12:58 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
maytonТвой второй запрос не будет работать.твой найдёт кучу лишнего ищут то где есть и первый параметр и второй и третий И , а не ИЛИ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 13:00 |
|
JDBC необязательные параметры
|
|||
---|---|---|---|
#18+
вадяmaytonТы понимаешь что такое поиск like a Google?для того чтоб найти что-то в одном поле надо так Код: sql 1. 2. 3. 4.
Это треш какой-то. Ты даже не представляешь как мне легко опровергать твои тезисы. Нет честное слово. У тебя было it-образование? Ну ОК. Ладно. Допустим ты - бывший оператор ПК. Во первых по заданию метод lookup(String text) имеет один аргумент. Это понятно? Тоесть text="%blah-blah%". И других выражений не будет. Вроде это было очевидно из моего примера. В таблице могут быть не-текстовые поля. Числовые. Тоесть если я ищу СТРОКОВЫЙ символ через LIKE в числовом поле. То это всегда FALSE. Тождественный FALSE. Инвариант. И если F1 - числовое поле (что не запрещено по моему первому тезису) то твой запрос всегда будет возвращать 0 строк потому что пересечение FALSE и других предикатов даст тождественный FALSE. Мне не надо искать примеры с данными. Ферштейн? А гугло-поиск - это найти что-то везде. Во всех документах и всех полях искомой системы где мы ищем. Метафора такая. Ну как в текстовом файле. Ферштейн? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 13:05 |
|
|
start [/forum/topic.php?fid=59&msg=39702039&tid=2121789]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 180ms |
0 / 0 |