- 博客(7)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 mysql中为什么不要使用存储过程
在使用oracle的时候,oracle是推荐尽可能将所有的操作都放在plsql中的,但是在使用mysql的时候是不让使用存储过程的,为什么? 因为在mysql中,存储过程不是一次编译的,而是对每个会话在执行的时候编译一次,在会话结束的时候抛弃,而且在执行alter procedure的时候是会将所有会话对这个存储过程持有的存储过程的版本抛弃掉。同时没有包的概念,没有类库,没有面向对象的概念,所以...
2018-03-28 18:12:31 11814
原创 关于表设计中的反规范化设计的思考
在进行表结构设计的时候,有时候需要通过冗余数据来提高某些查询的性能,在数据库中可以通过虚拟列来解决这些问题,而不用去实际的添加列,可以作为一个解决方案,另外对于我们这边的一个场景,在做报表的时候,总是需要去查看用户的第一单时间,每次去查都要进行用户表和订单表的关联groupy by非常消耗资源,其实在前期表结构设计的时候,也需要评估下对于统计查询的设计,是否需要添加字段来为以后的统计查询减少资源消...
2018-03-28 17:45:03 505
原创 oracle记录数据变更2中方案的对比
在oracle中,对于记录数据变更的情况,提供了2中方案:cdc和streams,2种方案都能记录dml操作。2者都提供了不同的配置方案,可以跟主库配置在一起,页可以通过发送redo log到异机进行处理,尽量降低对主库的影响。 在异机上进行处理都需要配置log_archive_dest_n参数。 对于指定的表都需要设置补充日志。 在异机上需要设置发布者订阅者。激活订阅后,如果要查看数据的变...
2018-03-19 16:44:15 545
原创 mysql5.7性能指标监控及表包含主键,自增主键,无主键的页分裂测试
在做测试的时候,我们可能需要监控一些innodb的指标,mysql在performance_schema这个库下面提供了innodb_metrics表,这个表中包含了很多的计数器,在一些情况下我们需要监控一些计数器的值。但是并不是所有的计数器都是打开的状态,有些是需要手工打开的。打开方式如下: 1开启某个计数器 SET GLOBAL innodb_monitor_enable = [count...
2018-03-14 14:48:50 893 1
原创 MySQL不同内存分配方法的配置及简单对比
在mysql-safe的脚本中可以使用–malloc-lib=[lib_name]来指定内存分配的库,而不是使用系统的malloc()方法,对于MySQL5.6.33这个选项的值必须是下面几个目录中的一个/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu或/usr/lib/x86_64-linux-gnu,这个版本之前的可以指定路径,在5.6的二进制分发版有个快...
2018-03-03 11:55:51 3214
原创 orale11g建表遇到的ORA-12899错误
在创建表的时候遇到了下面的错误 SQL> create table bai_emp(emp_id number(6) not null, emp_name varchar2(30), first_letter varchar2(1) generated always as (upper(substr(trim(emp_name),1,1))) virtual) partition by l...
2018-03-01 15:32:36 730
原创 如何做数据库的性能测试
做过很多次的性能测试,现在回想之前的测试,有很多的地方不足,导致测试的结果可能不是很准确,现在总结下,如果有不足之处还请补充。 数据库相关的性能测试包含2个方面的测试:1涉及业务的性能测试2只是针对数据库的性能测试。先说下需要注意的方面 1监控,在测试之前需要配置好监控,包含各种数据库性能指标以及机器资源使用率的监控,最好监控工具能提供图形化的界面显示各种指标曲线。如果只是数据的监控没有曲线,...
2018-03-01 10:49:48 12364
TA创建的收藏夹 TA关注的收藏夹
TA关注的人