法律服务系统数据库表优化建议.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. 索引修改:
  2. (1)Sys_Users
  3. 自增长主键id唯一标识用户,为聚集索引。
  4. 建议:
  5. 增加AccountType/UserType的单独索引
  6. (2)Lc_LegalCase
  7. 建议:
  8. LegalCaseNo,guid,和其他表相关联的,建唯一索引
  9. LegalCaseCode 用户自己录入的项目编号,建唯一索引
  10. CustomerNo 单独索引
  11. 另建议把MasterLayerNo拿出来,放到Lc_LegalCase_Layer中。
  12. 这样可以一次就查到指定律师和哪些case相关了
  13. (3) Lc_LegalCase_Layer
  14. 建议:
  15. 增加一个字段IsMaster,标识主律师/协助律师,并建单独索引
  16. LawyerNo和LegalCaseNo已建立单独索引
  17. (4)Lc_LegalCaseRemark
  18. 建议:
  19. LegalCaseNo,单独索引
  20. (5)Lc_LegalCaseType
  21. 建议:
  22. LegalCaseTypeNo, guid,建唯一索引
  23. (6)Lc_Contracts
  24. ContractNo和LegalCaseNo已建立单独索引
  25. 另建议把MasterLayerNo拿出来,放到Lc_Contract_Layers中
  26. (7) Lc_Contract_Layers
  27. 建议:
  28. 增加一个字段IsMaster,标识主律师/协助律师,并建单独索引
  29. LawyerNo和ContractNo已建立单独索引
  30. (8)Lc_ContractChangeRecord
  31. 建议:
  32. ContractNo,单独索引
  33. (9)Lc_ContractRemark
  34. 建议:
  35. ContractNo,单独索引
  36. KeyPointId, 关键点相关的备注,单独索引
  37. (10)Lc_KeyPointInfo
  38. 判断是否提醒都是基于日期及状态字段,所以建议对相关字段加上索引:
  39. ContractNo, 单独索引
  40. ParentId,单独索引
  41. ExpireDate, 执行日期,单独索引
  42. AlarmDate,提醒日期,单独索引
  43. ExecuteState, 单独索引, 执行状态(未执行,已执行)
  44. KeyPointStatus, 单独索引, 关键点状态(新建/待执行/挂起/结束)
  45. 提醒的几种情况(前提是KeyPointStatus=待执行):
  46. a. ExecuteState=已执行,即为:客户修改为已执行,律师未确认(待执行改为结束)
  47. b. 当天日期>=AlarmDate
  48. c. 当天日期>=ExpireDate
  49. (11) Sys_Functions
  50. 原有的CreateUserId/DeletdUserId/LastModifiterUserId这些索引基本用不到,建议删除。
  51. 另外对FunctionNo/ParentNo/FunctionPath等字段,加单独索引
  52. (12) Sys_Permissions
  53. 建议:
  54. Master,用户账号或者角色编号,加单独索引
  55. MasterId, 标识用户还是账号,加单独索引
  56. (13) Ls_CustomerContacts
  57. 建议:
  58. ContactNo, 单独索引
  59. CustomerNo, 单独索引
  60. (14) Ls_Customers
  61. 建议:
  62. CustomerNo, 单独索引