
数据库
文章平均质量分 73
瞎胡侃
这个作者很懒,什么都没留下…
展开
-
数据库中间件对比
相当于把中间件作为一个独立的服务了,它将接收到的SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。中间件在Driver或者连接池的基础之上,增加了一层封装。我们使用时,以Java开发为例,需要先引入一个jar包。中间件接收持久层产生的sql,同样对sql进行分析等操作,然后才落实到具体的库上。原创 2023-07-03 21:20:29 · 528 阅读 · 0 评论 -
数据库设计及日常使用规范-数据库设计
以下内容来源于公司DBA的分享,做个记录,便于日后自己翻阅,也分享出来共同学习,如果有不合理的或不完善,也请指出。表和列命名规则表和列全部使用小写。表名称推荐以业务线开头,后跟子系统,下划线分割。列的命名禁止使用数据库或系统的保留字,比如type、order、number、limit、date、from、where等。敏感字段的命名方式,手机号统一使用mobile,不同业务的手机号原创 2017-02-07 23:07:54 · 1466 阅读 · 0 评论 -
数据库设计及日常使用规范-高效SQL
尽量不使用select *会使用更多的资源(CPU、IO、网络带宽)取出了无用的列,如果表上有过多的列,相当的慢用不了索引覆盖数据不在索引上做运算无法使用索引,导致全表扫描例: Select col1,col2 From table Where id + 1 = 1234; Select col1,col2 from原创 2017-02-08 11:37:09 · 1182 阅读 · 0 评论 -
真正理解Mysql的四种隔离级别
什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。事务的 ACID事务具有四个特征:原子性( At转载 2017-03-06 19:51:32 · 2908 阅读 · 1 评论 -
Oracle 使用druid连接池,发生“违反协议”异常
背景项目中Oracle使用druid数据库连接池,为了提高访问数据库的效率,开启了PreparedStatement Cache。但是随着项目的运行,也出现了一些问题,在项目运行的过程中,给表添加字段后,会一直出现"ORA-17401:违反协议"异常。应用重启后,不再抛出。问题描述在应用持续运行中,给生产库中的某张表添加字段,然后涉及该表查询的地方不断抛出"ORA-17401:违反协议原创 2017-05-15 10:47:18 · 8676 阅读 · 0 评论 -
数据库的监控性能指标
MySQL主要的性能指标1、当前线程连接数mysql> show global status like 'threads_%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_cached | 30 |转载 2017-11-23 10:11:17 · 3922 阅读 · 0 评论 -
Mysql存在唯一索引条件下,实现插入如果重复则自动更新
当我们需要将数据存入数据库的时候,由于我们不确定该数据是否已经存在数据库中,而无法确定是执行插入操作还是更新操作,通常我们会先根据建立了唯一索引的字段去查询,如果不存在,则选择插入,如果存在,则选择更新selet count(0) count from table where 唯一索引字段的条件if count == 0 insertelse update这里我们就需要先进行...原创 2018-03-13 12:31:39 · 10114 阅读 · 0 评论 -
Sqoop将数据从oracle导入到hive时,数据错位问题
在使用sqoop将数据从oracle导入hive时,对数据进行验证,发现hive中的数据比oracle的多,然后发现多出来的数据严重错位,大量字段为null怀疑是某些字段含有了hive默认的分隔符,如“\n”,“\r”,“\01”解决办法是增加参数--hive-drop-import-delims来解决以下是http://archive.cloudera.com/cdh/3/sqoop/Sqoop...原创 2018-03-29 10:22:47 · 2059 阅读 · 0 评论