|
|
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. какой минус у такого подхода, кроме того, что эта таблица будет самой юзабельной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 14:51 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
Вы бы поподробнее расписали подход, что же вы хотите. Заменить create_user_id, create_date ... одним audit_id? Не стоит овчинка выделки, эти поля можно использовать для оптимистического блокирования. И давайте на бережку договоримся - что вы называете аудит. По поводу смешения в одну таблицу - а где вы видите плюсы? Экономия на числе таблиц? А вот минусы - truncate не сделать, по дискам не разнести и т.д. divide et impera Далее к слову. Я на журналы делал первичным ключом пару event_datetime + event_id. Так было удобнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 15:33 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
SERG1257Заменить create_user_id, create_date ... одним audit_id? да SERG1257И давайте на бережку договоримся - что вы называете аудит. фиксировать кто/когда/где изменял запись SERG1257По поводу смешения в одну таблицу - а где вы видите плюсы? Экономия на числе таблиц?на числе столбцов(минимум 7). если таблиц за сотню, может получится какая то экономия. правда придется лишние join делать. SERG1257А вот минусы - truncate не сделать, по дискам не разнести и т.д. divide et imperatruncate не нужен. можно создать tablespace на другом диске или сделать партиционирование таблицы (postgresql). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 15:48 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
javaprog, ещё минусы: 1. большое количество связей с одной таблицей. удалении записей из таблицы аудита - трудоёмкая операция. 2. дополнительный join при поиске пользователем "своих" записей (может быть важным в зависимости от задачи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 17:42 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
javaprog фиксировать кто/когда/где изменял записьНо без ЧТО было изменено javaprog может получится какая то экономияЭкономии на объеме данных не будет ибо нет разницы в какой таблице хранить эти 7 полей. Может вам стоит завести таблицу Сессия без create_date. Тогда можно говорить о какой-то экономии. javaprog truncate не нуженТо есть о чистке этих таблицы (с выгрузкой из рабочей базы) вы не задумывались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 19:36 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
SERG1257Но без ЧТО было измененособирался кидать изменения в другую таблицу. буду делать по старинке. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 21:15 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
> CREATE TABLE audit ( > audit_id serialnot null primary key, > create_datetimestamp, > create_user_idint references users(user_id), > create_ip inet, > create_serverint, > .... > ); > > create table test( > test_idnot null primary key, > audit_id references audit(audit_id), > .... > ); За точечками-то что скрывается ? Гюльчатай, личико-то открой ... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 12:08 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
javaprog, В схеме которую ты предложил для таблиц у которых включен аудит есть доп. поле audit_id для связи с таблицей аудита? Т.е. получается что все таблицы завязаны на таблице аудита. Можно сделать по другому. В таблице audit завести поле audit_tabname_id, создать справочник с таблицами для которых включен аудит (id, audit_tabname) для связи с таблицей audit, и не надо будет в каждой таблице для которой включается аудит создавать поле audit_id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 12:53 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
MasterZivами-то что скрывается ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Andronтак лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 05:38 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
> ами-то что скрывается ? > > CREATE TABLE audit ( > audit_id serialnot null primary key, > create_datetimestamp, > create_user_idint references users(user_id), > create_ip inet, > update_serverint, > update_datetimestamp, > update_user_idint references users(user_id), > update_ip inet, > update_serverint > ); Т.е. старые или новые данные таблицы ты там хранить не собираешься. Тогда действительно незачем делать отдельные таблицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 11:50 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
MasterZivТогда действительно незачем делать отдельные таблицы. Ну, может у него высоконагруженная система и эта таблица становится бутылочным горлышком, которое просаживает общую производительность... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 14:29 |
|
||
|
одна таблица аудита для всех таблиц
|
|||
|---|---|---|---|
|
#18+
MasterZivТ.е. старые или новые данные таблицы ты там хранить не собираешься. Тогда действительно незачем делать отдельные таблицы. данные хранятся в клонах исходных таблиц. Dimitry SibiryakovНу, может у него высоконагруженная система и эта таблица становится бутылочным горлышком, которое просаживает общую производительность... ничего такого. просто в качестве неудачного эксперимента. чего не буду делать) Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 20:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37669440&tid=1541823]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 456ms |

| 0 / 0 |
