|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
笔者最近做了一个模块,需要逐条更新当前信息的使用人信息,但是UI层又没有根据人员ID查询人员部门的方法。每次通过调用action的方法又得去与数据库交互,导入3000条数据就卡死了,遂想到创建视图的方法,一次性将处理好的数据添加进缓存,然后在查询。
所以,我创建了一个视图,如下:- create view PERSON_INFO_VIEW as
- SELECT
- -- 所属部门
- deptOrg.sID AS orgID, -- 部门ID
- deptOrg.sName AS orgName, -- 部门名称
- deptOrg.sFName AS orgFName,
- -- 人员信息
- p.sValidState, -- 人员可用标识
- p.SID AS pID, -- 人员SID
- p.sName AS pName, -- 人员姓名
- p.sSex AS pSex -- 性别
- FROM
- SA_OPPERSON p
- -- 关联部门信息
- LEFT JOIN SA_OPOrg org ON p.sMainOrgID = org.sID
- LEFT JOIN SA_OPOrg deptOrg ON INSTR(org.sFID, '.dpt') > 0
- AND SUBSTR(org.sFID, INSTR(org.sFID, '.dpt') - LENGTH(org.sID), LENGTH(org.sID)) = deptOrg.sID
复制代码
然后在UI层可以直接用bizData调用,每次就直接this.comp("personViewData").find(['pID'], ['xxxxxxxxxx']);就能获取到了,极大的提高了运行速度。
|
|