|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
to Mayton. Ты такую порнографию хотел увидеть? Типо на знание присутсвия MetaData в JDBC ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
Search in table MSM.CSC_OBJECT sql=SELECT * FROM MSM.CSC_OBJECT WHERE 1=0 OR ID like :ID OR TYPE_RE like :TYPE_RE OR CREATE_METHOD like :CREATE_METHOD OR START_DATE like :START_DATE OR DATE_IN like :DATE_IN OR TAC_ID like :TAC_ID OR USR like :USR OR DWELLING like :DWELLING OR MSM_ID like :MSM_ID OR NAME like :NAME OR LOCATION like :LOCATION OR END_DATE like :END_DATE OR OBJ_ID like :OBJ_ID OR ADR_ID like :ADR_ID OR AREA_SIZE like :AREA_SIZE OR HEIGHT like :HEIGHT OR INSTALL_DATE like :INSTALL_DATE OR PROHIBIT_REASON like :PROHIBIT_REASON OR VER like :VER OR POPULATION like :POPULATION OR FLAG_WORK like :FLAG_WORK OR ROOF_AREA like :ROOF_AREA OR PAVE_AREA like :PAVE_AREA OR SOIL_AREA like :SOIL_AREA OR LAWN_AREA like :LAWN_AREA OR FLAG_INP like :FLAG_INP OR FLAG_OUT like :FLAG_OUT OR FLOORS like :FLOORS OR MSM_NAME like :MSM_NAME OR ROAD_AREA like :ROAD_AREA OR FLAG_ORA like :FLAG_ORA OR FLAG_PDK like :FLAG_PDK OR CAD_TAG like :CAD_TAG OR OD_AREA like :OD_AREA OR AREA_REMARK like :AREA_REMARK OR WAHOR_POWER like :WAHOR_POWER OR WATER_DEPTH like :WATER_DEPTH OR FLAG_FILTR like :FLAG_FILTR OR TRO_ID like :TRO_ID OR LENGTH_DRAIN like :LENGTH_DRAIN OR WIDTH_DRAIN like :WIDTH_DRAIN OR DEPTH_DRAIN like :DEPTH_DRAIN OR FLAG_DRAIN like :FLAG_DRAIN OR VOLUME_DRAIN like :VOLUME_DRAIN OR APD_ID like :APD_ID OR GIS_ID like :GIS_ID OR FLG_COMPLEX like :FLG_COMPLEX OR IMPROVEMENT_ID like :IMPROVEMENT_ID OR LIFE_REQUEST like :LIFE_REQUEST OR LIFE_REQUEST_DESC like :LIFE_REQUEST_DESC OR ARMOR_TECHNOLOGICAL like :ARMOR_TECHNOLOGICAL OR ARMOR_EMERGENCY like :ARMOR_EMERGENCY OR REGISTERED_PEOPLE like :REGISTERED_PEOPLE OR TOTAL_AREA like :TOTAL_AREA OR COMMON_AREA like :COMMON_AREA OR TFI_ID_RV like :TFI_ID_RV OR TFI_ID_RK like :TFI_ID_RK OR OKS like :OKS OR CAD_TAG_ZU like :CAD_TAG_ZU OR TPU_ID like :TPU_ID OR BUSH_AREA like :BUSH_AREA OR COMMON_AREA_1 like :COMMON_AREA_1 OR COMMON_AREA_2 like :COMMON_AREA_2 OR FLAG_124 like :FLAG_124 OR VCKP_FLOORS like :VCKP_FLOORS OR VCKP_IMPROVEMENT like :VCKP_IMPROVEMENT OR IS_ODPU like :IS_ODPU OR COUNT_FLAT like :COUNT_FLAT OR ZNOP_ID like :ZNOP_ID OR OSGC_ID like :OSGC_ID OR GIS_GKH like :GIS_GKH OR OWNERS like :OWNERS OR WATER_AREA like :WATER_AREA { ID=153666, TYPE_RE=1, CREATE_METHOD=1, START_DATE=2000-04-27 15:31:36.0, DATE_IN=2000-04-27 15:31:36.0, TAC_ID=2, USR=MSM, DWELLING=1, MSM_ID=61637/89W, NAME=Многоквартирный дом, LOCATION=null, END_DATE=null, OBJ_ID=null, ADR_ID=186998, AREA_SIZE=null, HEIGHT=null, INSTALL_DATE=null, PROHIBIT_REASON=null, VER=1, POPULATION=null, FLAG_WORK=1, ROOF_AREA=null, PAVE_AREA=null, SOIL_AREA=null, LAWN_AREA=null, FLAG_INP=N, FLAG_OUT=N, FLOORS=null, MSM_NAME=ЖИЛОЙ ДОМ, ROAD_AREA=null, FLAG_ORA=N, FLAG_PDK=Y, CAD_TAG=1676:0:49, OD_AREA=null, AREA_REMARK=null, WAHOR_POWER=null, WATER_DEPTH=null, FLAG_FILTR=null, TRO_ID=null, LENGTH_DRAIN=null, WIDTH_DRAIN=null, DEPTH_DRAIN=null, FLAG_DRAIN=null, VOLUME_DRAIN=null, APD_ID=null, GIS_ID=180895, FLG_COMPLEX=N, IMPROVEMENT_ID=null, LIFE_REQUEST=N, LIFE_REQUEST_DESC=null, ARMOR_TECHNOLOGICAL=N, ARMOR_EMERGENCY=N, REGISTERED_PEOPLE=null, TOTAL_AREA=null, COMMON_AREA=null, TFI_ID_RV=8150, TFI_ID_RK=8340, OKS=Y, CAD_TAG_ZU=null, TPU_ID=null, BUSH_AREA=null, COMMON_AREA_1=null, COMMON_AREA_2=null, FLAG_124=N, VCKP_FLOORS=null, VCKP_IMPROVEMENT=null, IS_ODPU=null, COUNT_FLAT=null, ZNOP_ID=null, OSGC_ID=null, GIS_GKH=Y, OWNERS=null, WATER_AREA=null } { ID=336932, TYPE_RE=1, CREATE_METHOD=1, START_DATE=2013-11-15 11:57:30.0, DATE_IN=2013-11-15 11:57:30.0, TAC_ID=45, USR=MSM, DWELLING=2, MSM_ID=153666/00R, NAME=Детская площадка, LOCATION=null, END_DATE=null, OBJ_ID=null, ADR_ID=138802, AREA_SIZE=null, HEIGHT=null, INSTALL_DATE=null, PROHIBIT_REASON=null, VER=1, POPULATION=null, FLAG_WORK=1, ROOF_AREA=null, PAVE_AREA=null, SOIL_AREA=null, LAWN_AREA=null, FLAG_INP=Y, FLAG_OUT=null, FLOORS=null, MSM_NAME=null, ROAD_AREA=null, FLAG_ORA=N, FLAG_PDK=N, CAD_TAG=78:14:7645А:1016, OD_AREA=null, AREA_REMARK=null, WAHOR_POWER=null, WATER_DEPTH=null, FLAG_FILTR=null, TRO_ID=null, LENGTH_DRAIN=null, WIDTH_DRAIN=null, DEPTH_DRAIN=null, FLAG_DRAIN=null, VOLUME_DRAIN=null, APD_ID=null, GIS_ID=null, FLG_COMPLEX=N, IMPROVEMENT_ID=null, LIFE_REQUEST=N, LIFE_REQUEST_DESC=null, ARMOR_TECHNOLOGICAL=N, ARMOR_EMERGENCY=N, REGISTERED_PEOPLE=null, TOTAL_AREA=null, COMMON_AREA=null, TFI_ID_RV=null, TFI_ID_RK=8370, OKS=Y, CAD_TAG_ZU=null, TPU_ID=null, BUSH_AREA=null, COMMON_AREA_1=null, COMMON_AREA_2=null, FLAG_124=N, VCKP_FLOORS=null, VCKP_IMPROVEMENT=null, IS_ODPU=null, COUNT_FLAT=null, ZNOP_ID=null, OSGC_ID=null, GIS_GKH=null, OWNERS=null, WATER_AREA=null } search finished OK ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:26 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, круть. Но не спешите. Я все таки переделаю интерфейс. Добавлю детекторы Date, Number. Больше входных параметров. И не один коннекшен а много для параллелизма. Далее мне нужна будет толстая БД для симуляции поисков. И надо вкомпилировать хард-кодом в сборку штук 10-20 разных JDBC драйверов чтоб летало везде. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:29 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
maytonLeonid Kudryavtsev, круть. Но не спешите. Я все таки переделаю интерфейс. Добавлю детекторы Date, Number. Больше входных параметров. И не один коннекшен а много для параллелизма. Далее мне нужна будет толстая БД для симуляции поисков. И надо вкомпилировать хард-кодом в сборку штук 10-20 разных JDBC драйверов чтоб летало везде. Нахрена? На моей БД (пара десятков терабайт) оно пару десятков минут, если не часов, искать будет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:31 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Код: java 1. 2. 3. 4. 5.
ты зачем трмозной вариант используешь? так быстрее Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:34 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevmaytonLeonid Kudryavtsev, круть. Но не спешите. Я все таки переделаю интерфейс. Добавлю детекторы Date, Number. Больше входных параметров. И не один коннекшен а много для параллелизма. Далее мне нужна будет толстая БД для симуляции поисков. И надо вкомпилировать хард-кодом в сборку штук 10-20 разных JDBC драйверов чтоб летало везде. Нахрена? На моей БД (пара десятков терабайт) оно пару десятков минут, если не часов, искать будет Это... прекрасно. Как раз есть повод развернуть параллелизм. С другой стороны я писал в родительском топике что заказчик такой работы - говорит что надо найти любой ценой. Сутки? Окей. Тоже катит. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:36 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
авторappend( " like :" ). это уже под конкретную субд закос ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:38 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадя, до core-review мы еще не дошли. Но КМК ты смотришь на оптимизацию под неверным углом. Нужно во первых понять что для данного приложения именно это место будет bottle-neck. А я готов спорить на виски что на самом деле оно есть! но не здесь! А совсем в другом месте. Во вторых я предлагаю тебе дизассемблировать сборку в двух вариантах и посмотреть какой на самом деле javac cобирает код. Очень многие паттерны строковых оптимизаций стали бесполезны после семерки и восьмерки. Вспомни какие ::toString() имплементации генерит твоя IDE. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:40 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяавторappend( " like :" ). это уже под конкретную субд закос Вообще-то, нет. Двоиточие вроде стандарт ANSI. Хотя не уверен. Пофиг. Можно поменять на ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:42 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:44 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяты зачем трмозной вариант используешь? так быстрее Вообще-то IMHO фиолетово. совершенно одинаковая конструкция, которая и выполняться должна совершенно одинаково Не люблю длинных строк в коде. Много коротких строк, проще ошибку найти. И по java сообщению об ошибке (строка выводится, а позиция нет), да и под отладчиком ходить и ставить бряк-поинты удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:45 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВообще-то, нет. Двоиточие вроде стандарт ANSI. Хотя не уверен. Пофиг. Можно поменять на ? в mysql like '%xxx%' если так поле COLLATE utf8_general_ci like '%xxx%' то ищет без учёта регистра ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:47 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяmayton, люди уже много чего сделали https://habr.com/post/330220/ Сразу поверил в статью 2017 года? Может все таки продизассемблируешь. P.S. На самом деле я невкурсе девятки и десятки. Но разве у тебя нет инженерного любопытства? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:48 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevНе люблю длинных строк в коде Код: java 1. 2. 3. 4. 5.
Leonid Kudryavtsevсовершенно одинаковая конструкция, которая и выполняться должна совершенно одинаково https://habr.com/post/330220/ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:49 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Вы спорите о пустяках. Не жаль времени? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:50 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяmayton, люди уже много чего сделали https://habr.com/post/330220/ Hotspot JVM находит new StringBuilder().append(x).append(y) .toString() паттерны В моем и твоем коде этого нет обходясь без создания промежуточных объектов. создания объектов и так нет похоже, подразумевают создания объекта StringBuilder. Но опять таки, это не наш случай. Нам все равно StringBuilder нужен, т.к. конкатенируем в цикле ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:50 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
maytonP.S. На самом деле я невкурсе девятки и десятки. Но разве у тебя нет инженерного любопытства?я пока под 10 перевожу то что есть, пока не до исследования. и без того проблем хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:50 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevНо опять таки, это не наш случай. Нам все равно StringBuilder нужен, т.к. конкатенируем в цикле разница в sql.append( " OR " ) .append( s ) .append( " like :" ) .append( s ) .append( " " ); sql.append( " OR " ); sql.append( s ); sql.append( " like :" ); sql.append( s ); sql.append( " " ); ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 20:54 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадя...разница в ... бечмарк в студию Ссылка на статью - не катит. Там совршенно про другой паттерн расказывают. new, append, toString а пока - какие-то сказки. Почему три операции записанные в одну строчку, должны быть быстрее, чем те же три операции записанные через перевод строки - какие-то сказки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 21:10 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяmaytonP.S. На самом деле я невкурсе девятки и десятки. Но разве у тебя нет инженерного любопытства?я пока под 10 перевожу то что есть, пока не до исследования. и без того проблем хватает Жаль. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 21:18 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevа пока - какие-то сказки. Почему три операции записанные в одну строчку, должны быть быстрее, чем те же три операции записанные через перевод строки - какие-то сказки.там есть ссылка и на доклад ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 21:30 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадяmayton, если свяжешься со мной - могу продемонстрировать поиск с использованием like хаха ржака. самый очевидный вариант если в детали не вчитываться. я думаю там что-то иное подразумевалось. не? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 22:23 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
вадя запрос Код: sql 1. 2. 3. 4. 5.
результат"id""nn"164867,89 Double/Float - это очень интересные и сложные типы данных. Они сжимают или хешируют вещественный диапазон чисел как функция класса инъекция на некий ограниченный диапазон констант. Магических чисел. И поиск по вещественному числу как по строке никогда не делают. Если вы хотите поискать - (Реально???) то я советую задать некий криетерий близости (эпсиолон) и точку в окрестности которой вы будете искать число максимально близкое. Это и будет поиск по Double/Float. Так и только так поиск будет осмысленным с математической точки зрения. Все остальные ваши изобретения в части поиска по Float/Double как по тексту обречены на провал и на наличие аномалий которые устранить на уровне операций с строками будет невозможно. Поэтому, я вас прошу оставить вещественный тип в покое до лучших времен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 22:37 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
Ахтунг! Изменения в задании №1. Обновлённый интерфейс. - поддержим пул коннектов - итератор нафиг. Будет Stream. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
Go-go кодить! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 23:06 |
|
Четверговый поиск в БД like a Google.
|
|||
---|---|---|---|
#18+
andreykaTвадяmayton, если свяжешься со мной - могу продемонстрировать поиск с использованием like хаха ржака. самый очевидный вариант если в детали не вчитываться. я думаю там что-то иное подразумевалось. не? )) вариант не совсем очевидный. как ни странно. демонстрация реализации. с изменением времени от нажатия до отображения . с возможностью добавлять, изменять. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2018, 05:18 |
|
|
start [/forum/topic.php?fid=59&msg=39704564&tid=2121021]: |
0ms |
get settings: |
16ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
72ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
391ms |
get tp. blocked users: |
0ms |
others: | 302ms |
total: | 791ms |
0 / 0 |