|
|
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
Есть веб приложение в котором необходимо реализовать выборку из трех таблиц по запросу пользователя. Таблицы очень большие и поэтому при запросе пользователя каждый раз обращаться к SQL серверу накладно. Таблицы используються только для чтения. Возникла идея загружать все таблицы в приложение и работать с ними в приложении не обращаясь к SQL серверу. Для реализации этого решил использовать Hibernate. Посоветуйте можно ли такое реализовать на нем. Основаная задача разгрузить SQL сервер. Таблицы большие от 9000 записей и до 30000. Пользователей будет приблизительно до 150 человек. Справится ли Hibernate с таким объемом. Как алтернатива остается вызов хранимой процедуры на сервере которая пудет вызыватся при каждом обращении пользователя. Как луче сделать - подскажите. Пуду очень благодарен любым советам и предложениям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 00:36:16 |
|
||
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
автор 9000 записей и до 30000. Это одни из самых маленьких таблиц, никаких проблем при select'ах пусть даже из трех таблиц с такими проблемами быть не должно. Естественно если ты построил все необходимые индексы, ну и запрос у тебя написан не от балды. А вообще да, хибер может повысить производительность за счет своего кэша, но тут, я практически уверен, можно обойтись и без кэширования данных хибером. Пиши подробнее что у тебя за структура таблиц, какой запрос нужно так часто дергать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 06:36:42 |
|
||
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
Вот структура таблиц с индексами: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Самая интересная таблица здесь это история и стркутура подразделений hist_gr. Вней хранится состояние подразделения (работает/неработает - поле Status). А также по этой таблице определяется структура подразделений т.е. родитель==>ребенок. И самое главное поле это дата. Пользователь каждый раз пудет вводить дату на которую он хочет получить структуру и подразделение и надо посмотреть какие у пользователя есть доступные права в aPerm_gr потом раксрутить эти подразделения на определенную дату. Привожу пример процедуры которая работала на SQL Код: plaintext 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. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. Начальство поставило задачу перевести этот алгоритм в веб-приложение. Чтобы не нагружать сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 10:07:32 |
|
||
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
Небольшое дополнение. Данные которые получатся пудут парсится в XML документ servlet-ом. Ссылка на servlet с параметрами (дата, пользователь, уровень, подразделение) будет передаваться в DHTML объект на странице который из xml документа пудет строить дерево подразделений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 10:15:40 |
|
||
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
В принцыпе мжно вызывать каждый раз процедуру через JDBC. Но будет ли это быстрее чем на Hibernate? И как SQL сервер справится если пудет много запросов от клиентов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 11:14:59 |
|
||
|
Hibernate+большие таблицы как реализовать
|
|||
|---|---|---|---|
|
#18+
SitЕсть веб приложение в котором необходимо реализовать выборку из трех таблиц по запросу пользователя. Таблицы очень большие и поэтому при запросе пользователя каждый раз обращаться к SQL серверу накладно. Таблицы используються только для чтения. Возникла идея загружать все таблицы в приложение и работать с ними в приложении не обращаясь к SQL серверу. Для реализации этого решил использовать Hibernate. Посоветуйте можно ли такое реализовать на нем. Основаная задача разгрузить SQL сервер. Таблицы большие от 9000 записей и до 30000. Пользователей будет приблизительно до 150 человек. Справится ли Hibernate с таким объемом. Как алтернатива остается вызов хранимой процедуры на сервере которая пудет вызыватся при каждом обращении пользователя. Как луче сделать - подскажите. Пуду очень благодарен любым советам и предложениям. На 30 000 строк он не загнется. а вот на 3000000 Hiberante уже не подходит. Но для игрушечных баз он хорош. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 14:00:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34076248&tid=2147486]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 535ms |

| 0 / 0 |
