MySQL降龙十八掌,第六掌内容:利涉大川之MySQL索引的使用与优化(附含MySQL8.0隐藏索引),了解详情>>
0

我的帖子

个人中心

设置

  发新话题
复制内容到剪贴板
代码:
SELECT RTRIM(JC_DEPT_PROPERTY.NAME) AS 科室
, RTRIM(VI_ZY_FEE_SPECI.ITEM_NAME) AS 项目
, CAST(SUM(VI_ZY_FEE_SPECI.NUM) AS decimal(10,1)) AS 数量
, RTRIM(VI_ZY_FEE_SPECI.UNIT) AS 单位
, JC_HSITEM.xishu AS 系数
, ROUND(SUM(VI_ZY_FEE_SPECI.NUM)*JC_HSITEM.xishu,2) AS 小计

FROM JC_DEPT_PROPERTY INNER JOIN VI_ZY_FEE_SPECI
ON JC_DEPT_PROPERTY.DEPT_ID = VI_ZY_FEE_SPECI.EXECDEPT_ID INNER JOIN JC_HSITEM
ON VI_ZY_FEE_SPECI.XMID = JC_HSITEM.ITEM_ID
WHERE  (VI_ZY_FEE_SPECI.XMLY = 2) AND
       (VI_ZY_FEE_SPECI.CHARGE_DATE BETWEEN @RQ1 AND @RQ2) AND
       (VI_ZY_FEE_SPECI.EXECDEPT_ID = @deptid OR @deptid = -1) AND
       (JC_HSITEM.xishu is not null)
   
GROUP BY VI_ZY_FEE_SPECI.XMID, VI_ZY_FEE_SPECI.ITEM_NAME, JC_DEPT_PROPERTY.NAME, VI_ZY_FEE_SPECI.UNIT, JC_HSITEM.xishu
having(SUM(VI_ZY_FEE_SPECI.NUM)>0)
ORDER BY 科室
VI_ZY_FEE_SPECI这里面有200万条记录,导致执行起来很慢。



请给出表结构(脚本)

每个表的大小。

建议你使用查询计划看看。



CREATE TABLE [dbo].[JC_DEPT_PROPERTY](
        [DEPT_ID] [int] IDENTITY(1,1) NOT NULL,
        [P_DEPT_ID] [int] NULL,
        [LAYER] [int] NULL,
        [TYPE_CODE] [varchar](10) NULL,
        [NAME] [varchar](50) NULL,
        [PY_CODE] [varchar](50) NULL,
        [WB_CODE] [varchar](50) NULL,
        [D_CODE] [varchar](20) NULL,
        [CODE] [varchar](20) NULL,
        [MZ_FLAG] [smallint] NULL,
        [ZY_FLAG] [smallint] NULL,
        [YJ_FLAG] [smallint] NULL,
        [JZ_FLAG] [smallint] NULL,
        [DELETED] [smallint] NULL,
        [DEPTADDR] [varchar](100) NULL,
        [ISJZ] [int] NULL,
        [ISFACT] [smallint] NULL,
        [SORT_ID] [int] NULL,
        [HZ_FLAG] [smallint] NULL,
        [SM_FLAG] [smallint] NULL,
        [BEDNUM] [int] NULL,
        [ISACCOUNT] [smallint] NULL,
        [CWS] [int] NOT NULL,
        [JGBM] [bigint] NOT NULL,
CONSTRAINT [PK_JC_DEPT_PROPERTY] PRIMARY KEY CLUSTERED




CREATE TABLE [dbo].[JC_HSITEM](
        [ITEM_ID] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
        [P_ITEM_ID] [bigint] NULL,
        [P_ITEM_CODE] [varchar](12) NULL,
        [ITEM_CODE] [varchar](50) NULL,
        [ITEM_DESCRIBE] [varchar](500) NULL,
        [NSITEM_ID] [bigint] NULL,
        [ITEM_NAME] [varchar](100) NOT NULL,
        [ITEM_UNIT] [varchar](50) NULL,
        [COST_PRICE] [decimal](18, 2) NOT NULL,
        [RETAIL_PRICE] [decimal](18, 2) NOT NULL,
        [PRICE_ID] [bigint] NULL,
        [PY_CODE] [varchar](50) NULL,
        [WB_CODE] [varchar](50) NULL,
        [DELETE_BIT] [smallint] NOT NULL,
        [EFFECT_BDATE] [datetime] NULL,
        [EFFECT_EDATE] [datetime] NULL,
        [ISCOMPLEX] [smallint] NULL,
        [INVOICE_ID] [bigint] NULL,
        [ZXDD_ID] [bigint] NULL,
        [MXID] [bigint] NULL,
        [STATITEM_CODE] [varchar](12) NULL,
        [ZY_USE] [smallint] NULL,
        [MZ_USE] [smallint] NULL,
        [YJ_USE] [smallint] NULL,
        [CYZXM] [smallint] NULL,
        [CFLX] [smallint] NULL,
        [BOOKING] [smallint] NULL,
        [ORDER_NAME] [varchar](100) NULL,
        [ORDER_PYM] [varchar](100) NULL,
        [ORDER_WBM] [varchar](100) NULL,
        [SAMPLE] [bigint] NULL,
        [EXEC_DEPT_RATE] [decimal](18, 2) NULL,
        [ORDER_DEPT_RATE] [decimal](18, 2) NULL,
        [STD_CODE] [varchar](250) NULL,
        [last_operator] [int] NULL,
        [xishu] [float] NULL,
CONSTRAINT [PK_JC_HSITEM] PRIMARY KEY CLUSTERED




CREATE TABLE [dbo].[ZY_FEE_SPECI](
        [ID] [uniqueidentifier] NOT NULL,
        [INPATIENT_ID] [uniqueidentifier] NOT NULL,
        [BABY_ID] [bigint] NOT NULL,
        [ORDER_ID] [uniqueidentifier] NOT NULL,
        [ORDEREXEC_ID] [uniqueidentifier] NOT NULL,
        [PRESCRIPTION_ID] [uniqueidentifier] NOT NULL,
        [PRESC_NO] [decimal](21, 6) NOT NULL,
        [PRESC_DATE] [datetime] NULL,
        [BOOK_DATE] [datetime] NULL,
        [BOOK_USER] [bigint] NOT NULL,
        [STATITEM_CODE] [varchar](12) NOT NULL,
        [TCID] [int] NOT NULL,
        [TC_FLAG] [smallint] NOT NULL,
        [XMID] [bigint] NOT NULL,
        [XMLY] [smallint] NOT NULL,
        [SUBCODE] [varchar](20) NULL,
        [ITEM_NAME] [varchar](100) NULL,
        [GG] [varchar](50) NULL,
        [CJ] [varchar](100) NULL,
        [UNIT] [varchar](50) NULL,
        [UNITRATE] [int] NULL,
        [COST_PRICE] [decimal](18, 4) NOT NULL,
        [RETAIL_PRICE] [decimal](18, 4) NOT NULL,
        [NUM] [decimal](18, 4) NOT NULL,
        [DOSAGE] [int] NOT NULL,
        [SDVALUE] [decimal](18, 2) NOT NULL,
        [AGIO] [decimal](10, 2) NOT NULL,
        [ACVALUE] [decimal](18, 2) NOT NULL,
        [QDRQ] [datetime] NULL,
        [CHARGE_BIT] [smallint] NOT NULL,
        [CHARGE_DATE] [datetime] NULL,
        [CHARGE_USER] [bigint] NULL,
        [DELETE_BIT] [smallint] NOT NULL,
        [CZ_FLAG] [int] NOT NULL,
        [CZ_ID] [uniqueidentifier] NULL,
        [TYPE] [smallint] NOT NULL,
        [DISCHARGE_BIT] [smallint] NOT NULL,
        [DISCHARGE_ID] [uniqueidentifier] NULL,
        [SCBZ] [smallint] NOT NULL,
        [DOC_ID] [bigint] NOT NULL,
        [DEPT_ID] [bigint] NOT NULL,
        [DEPT_BR] [bigint] NOT NULL,
        [EXECDEPT_ID] [bigint] NOT NULL,
        [DEPT_LY] [bigint] NOT NULL,
        [GROUP_ID] [uniqueidentifier] NULL,
        [TLFS] [smallint] NOT NULL,
        [APPLY_ID] [uniqueidentifier] NULL,
        [FY_BIT] [smallint] NOT NULL,
        [FY_DATE] [datetime] NULL,
        [FY_USER] [int] NULL,
        [PY_USER] [int] NULL,
        [BZ] [varchar](200) NULL,
        [JGBM] [bigint] NOT NULL,
        [GCYS] [bigint] NOT NULL,
        [FYID] [bigint] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_ZY_FEE_SPECI] PRIMARY KEY CLUSTERED

第一个表200条记录,第二个表5000条记录,第三个表250万条记录




本帖最后由 maoxiang123 于 2012-4-30 21:16 编辑
使用数据库引擎优化顾问,优化下索引



http://mannysys.com
这个好象是his系统的数据库结构吧?



能否共享一份你的数据库结构出来吗?为了毕业设计求购学习his系统设计。



把执行计划的截图贴下呢?



我的51CTO博客

SQL Server MCITP, MVP, MCT, DBA
‹‹ 上一贴:请教SQL SERVER 查询bom结构   |   下一贴:前面装了一个SQL2008R2装完了之后没有SQL管理工具是什 ... ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com