首页 > 编程知识 正文

oracle优化面试题,MySQL数据库面试题

时间:2023-05-04 12:44:27 阅读:146376 作者:2492

1.MySQL数据库作为分发系统的存储,每天增量超过5万瓶,预计运维为3年。 怎么优化? a .设计良好的数据库结构,允许部分数据冗馀,尽量避免连接查询,提高效率。

b .为适当的表字段选择数据类型和存储引擎,并适当地添加索引。

c. mysql库主从读写分离。

d .有规律地划分表格,减少单表中的数据量提高检索速度。

e。 添加缓存机制,如memcached、apc等。

f .生成不经常更改的页面、静态页面。

g .写高效的SQL。 例如,将SELECT * FROM TABEL变更为SELECT field_1、field_2、field_3 FROM TABLE。

2 .实践优化MySQL,优选按以下顺序优化:

1 .优化SQL语句和索引

2 .数据库表结构优化

3 .系统结构优化

4 .硬件优化

3 .优化数据库的方法选择最佳字段属性,最小化定义字段的宽度,并将字段设置为NOTNULL。 例如,“省”、“性别”应用枚举,使用连接“连接”而不是子查询应用联合“UNION”,而不是手动创建的临时表事务锁定表、事务应用外键编制索引优化查询语句4 .的a )第一范式(1NF是对属性的原子约束,要求属性具有原子性,不可再分解

第二范式: 2NF是对记录唯一性的约束,要求记录具有唯一的标识,即实体唯一性;

第三范式: 3NF是对场冗馀性的约束。 也就是说,任何字段都不能从其他字段派生,要求字段没有冗馀。

规范化设计的优缺点:

http://www.Sina.com/http://www.Sina.com /

可以尽量减少数据冗馀,使其更新快、体积小

需要将多个表与缺点:查询相关联,这降低了写入效率,提高了读取效率,并且难以优化索引

优点:可以减少表的关联,并且可以更好地优化索引

缺点:数据冗馀、数据异常和修复数据需要更多成本

5 .优化SQL语句有什么方法? (选择一些)1)在Where子句中,Where表之间的连接必须写在其他Where条件之前,能够过滤最大数量记录的条件必须写在Where子句末尾的. HAVING末尾。

)用EXISTS代替IN,用NOT EXISTS代替NOT IN。

)3)避免在索引列中使用计算

)4)避免在索引列中使用IS NULL和IS NOT NULL

)5)优化查询,尽量避免所有表扫描,首先考虑对与where和order by相关的列编制索引。

)6)请尽量避免在where子句中确定字段的空值。 否则,引擎将放弃使用索引并执行所有表扫描

)7)请尽量避免在where子句中对字段进行表达式操作。 因此,引擎放弃使用索引并执行所有表扫描

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。