A、A
B、B
C、C
D、D
A、A
B、B
C、C
D、D
CREATE TABLE销售明细表(
销售单据编号varchar(8),
商品编号varchar(8),
单价money,
数量int,
总价money
) ,
为了保证数据的一致性,建有如下触发器:
CREATE TRIGGER AutoCountSum
ON销售明细表FOR INSERT,UPDATE
AS
DECLARE@UnitPrice money,@Quantity int
DECLARE@Amount money
SELECT@UnitPrice=单价,@Quantity=数量
FROM inserted
SET@Amount=@UnitPrice*@Quantity
UPDATE销售明细表SET总价=@Amount
WHERE销售单据编号IN(SELECT销售单据编号FROM inserted)
AND商品编号IN(SELECT商品编号FROM inserted)
①设系统运行一段时间后此表中有近一百万条记录,此时发现对该表的插入操作速度很慢,请分析插入速度慢的原因。(3分)
在不改变数据库服务器硬件和表结构、不清理数据的情况下,请说明应如何优化此表的插入操作。(2分)
②在解决了①中的问题后,程序员在数据库中执行如下SQL语句:
SELECT商品编号,sum(总价)FROM销售明细表
WHERE单价>50
GROUP BY商品编号
请在不改变该SQL语句的情况下,给出提高该查询执行效率的方案。(5分)
A、使用insert语句向一个自增型字段插入数据时,可以自行指定编号,不使用NULL值。
B、使用insert语句向默认值约束字段插入数据时,字段值必须使用default关键字。
C、插入新记录时,需要注意表之间的外键约束关系,原则上先给父表插入数据,然后再给子表插入数据。
D、使用insert语句可以一次性地向表中批量插入多条记录。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!