数据库
Monday_@@
java开发的老司机
展开
-
binlog、redo log和undo log的作用以及详细介绍
Mysql原创 2022-08-30 22:40:53 · 327 阅读 · 1 评论 -
mysql参数配置优化提升高并发性能
一、调整缓冲池buffer Pool大小和数量 buffer Pool数量越多,能够抗的住的并发越高innodb_buffer_pool_size =innodb_buffer_pool_instances =原创 2021-06-24 13:30:13 · 459 阅读 · 0 评论 -
实用MySQL优化思路
最近在开发过程中优化了不少SQL,在此记录一下我的优化思路,希望帮助到有缘人,若有大佬请多多 指教哈!一、第一步:通过EXPLAIN查看SQL执行计划,分析是否全表扫描,若全表扫描则通过添加单列索引或者联合索引去优化,避免全表扫描;先建如下表并建立索引:我们通过一下SQL查看执行计划EXPLAIN select * from product_info p where p.category_name = '电脑';执行计划如下: 结果字段含义:id sel...原创 2020-11-29 13:12:08 · 195 阅读 · 0 评论 -
阿里云centos服务器安装MySQL遇到的问题
问题一:开始安装了MySQL8的版本,后来卸载了安装5.7版本,安装成功后一直起不来,就出现了该问题:通过日志文件发现原来是InnoDB的问题。原mysql8.0版本高于5.7版本,高版本的InnoDB引擎,而低版本的数据库服务还是指向了这些数据,但是一些版本的数据格式不同导致的该问题。只要删除了/var/lib下面的MySQL文件夹即可。问题二:All matches were filtered out by modular filtering for argumen...原创 2020-11-14 21:11:00 · 719 阅读 · 0 评论 -
阿里云服务器centos操作(一)安装MySQL
1、检查服务器系统是否是最新状态,更新成最新状态 yum -y update以上为更新过程和更新结果;2、检查是否安装过MySQL(我新的服务器没有安装)rpm -qa | grep mysql3、下载MySQL安装包 rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm4、安装MySQLyum install -y mysql-server以...原创 2020-11-14 17:05:28 · 216 阅读 · 0 评论 -
记录一次MySQL优化过程遇到的坑
相信很多开发都优化SQL语句,最近我在优化SQL是遇到了一个坑,在这里和大家分享一下;通过页面抓取到耗时超过3秒的接口,找到对应的SQL,设置好相应参数,在测试环境通过Explain进行分析,查看执行计划,通过分析查看扫描是否走了索引,通过发现全都走了索引,在生产环境也都走了索引,想了很多办法找不到问题根源。最后请教了大佬分析,他从数据库表结构类型去分析,发现我们生产的表采用的是utf8mb4,而测试是utf8,原因是同事前两天在修改了部分表的字符集,导致了生产环境部分表采用了utf8mb4,部分采原创 2020-11-14 09:56:45 · 190 阅读 · 0 评论 -
Oracle的临时表和MySQL的临时表
最近在Oracle迁移MySQL过程中遇到了一些关于with as 语法的问题,但是在MySQL中是没有这样的语法的,因为我使用了临时表代替了;因此今天做了一些小总结,欢迎各位大佬指导。一、Oracle with as语法with tableName as (select ....)select ...它在查询之前预先就构造了一个临时表,以供使用;可以一次分析,多次使用;增加了SQL的易读性。二、MySQL临时表语法:DROP TABLE IF EXISTS DEMO_T..原创 2020-09-09 20:54:32 · 584 阅读 · 0 评论 -
MySQL和Oracle数据库区别、高并发数据库优化
一、引擎比较(一)、MySQL引擎:支持ISAM、MYISAM、HEAP、INNODB和BERKLEY五种引擎类型,也可以通过MySQL+API自己做一个引擎。ISAM:适用于查询次数要远大于更新次数的数据库设计,执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM存在两个缺点:不支持事务处理,也不能够容错,数据无法恢复。MyISAM:是MySQL的ISAM扩展格式和缺省的...原创 2020-04-23 10:15:20 · 1427 阅读 · 0 评论 -
Oracle根据父类查出所有子类的函数--实现递归查询(树状结构)
语法:--向下递归遍历select * from tablename start with cond1connect by cond2where cond3;select * //用视图中选择要查的东西from Table //从哪个表中查start with id = 1 //以哪个ID为开始,即跟节点IDconnect by prior ...原创 2020-03-08 12:48:51 · 393 阅读 · 0 评论 -
Oracle中number类型经过类型转换之后小数点前的0消失了
最近在处理一个类型转换时遇到了,如图问题:解决方案:select to_char(round(50/342),''fm9999999990.00') || 'KB' from dual;原创 2020-02-27 17:48:43 · 2403 阅读 · 0 评论 -
Oracle 登录切换用户、查看状态等
1、查看当前机器上是否安装了Oracle:tnsping orcl2、查看Oracle的状态:lsnrctl status3、启动Oracle:lsnrctl start4、停止Oracle:lsnrctl stop5、运行SQL:sqlplus6、登录用户:#操作系统认证conn /as sysdba #一般都是登上去启动/停止数据库...原创 2019-12-29 10:38:53 · 2666 阅读 · 1 评论 -
Oracle Clob类型和Blob类型之间的转换
目录一、背景二、Clob 和 Blob 的区别三、使用JDK的Base64编码四、使用Oracle自带的Base64编码一、背景最近在迁移数据时,遇到了将Clob类型转换成Blob的问题,历史数据中文件内容是使用Clob类型存储,而新表使用的Blob类型,这样就导致在迁移文件时需要将类型转换。二、Clob 和 Blob 的区别BLOB和CLOB都是大字段类型,...原创 2019-12-28 11:39:38 · 3362 阅读 · 0 评论 -
Oracle 给其他用户授权可以访问所有表的权限
一、语句将A用户的某张表的权限给B用户。GRANT SELECT ON A.tablename to B;二、批量操作1、将A用户的查询权限赋给B用户,将一下查询结果拿出来执行就可以将A用户下所有表的查询权限赋给B用户了。select 'GRANT SELECT ON A.'||table_name||' to B;'from user_tables;2、将A用户...原创 2019-12-25 10:31:39 · 13754 阅读 · 0 评论 -
Oracle 函数之 add_months(X,Y)
一、函数介绍用于计算在时间X之上的Y个月后或前的时间值(Y为正数表示之后,Y为负数时表示之前)二、用法实例1、两个月前的当前时间点:select add_months(sysdate,-2)from dual;2、两个月后当前时间点:select add_months(sysdate,2) from dual;...原创 2019-12-21 15:16:35 · 251 阅读 · 0 评论 -
Oracle函数之use_hash
目录一、函数介绍二、比较一、函数介绍select /*+ use_hash(ici,ifc) */ ici.user_code, ifc.file_name from issue_ipo_cust_info ici left join issue_ipo_file_content ifc on ifc.id = ici.file_id;use_hash可以加...原创 2019-12-12 08:50:25 · 5813 阅读 · 0 评论 -
SQL优化
SQL语句的优化:<一> :尽量使用单表查询,不适用多表查询(子查询)<二> :使用distinct<三> :尽量使用较小的列<四> :频繁使用的字段加索引<五> :避免使用select* 和 like 查询<六> :数据量在百万级以上,使用分表查询,时时分割表<七> :避免在索引...原创 2019-02-17 15:42:19 · 283 阅读 · 0 评论 -
sql server 性能优化
1、 用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列; 算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 F...转载 2019-04-15 17:06:16 · 6834 阅读 · 1 评论 -
分表分库
一、常见面试题1、为什么分表分库?2、分表分库中间件有哪些?分别有什么特点?3、垂直拆分还是水平拆分?有什么区别?二、问题分析1、由于用户数量增长,导致数据量越来越大,请求并发量也会增加,这样就会导致服务器压力增加,那么我们就要采取措施了。有时候分表不一定会分库,分库不一定会分表,具体情况要看并发情况和表数据量情况。2、分表分库的中间件有:cobar 、TDDL、atlas...原创 2019-06-10 21:39:11 · 220 阅读 · 0 评论 -
Oracle 修改字段的精度和长度
首先,新增一个符合进度和长度符合要求的字段。alter table tb_test add name_temp number(19,4);增加字段注释。comment on column tb_test.name_temp is '名称';将原始name列的值全都更新到name_temp ,原始列可以不设置为空,毕竟是要删除的。update tb_test set name_...原创 2019-07-11 12:01:58 · 1884 阅读 · 0 评论 -
oracle创建、删除索引以及对字段的一系列操作
一、创建索引create index 索引名 on 表名(列名);二、查找索引--根据索引名,查询表索引字段select * from user_ind_columns where index_name='索引名';--根据表名,查询一张表的索引select * from user_indexes where table_name='表名';三、删除索引drop ...原创 2019-07-19 11:44:17 · 4034 阅读 · 0 评论 -
Oracle 高性能分组排序等关键词
一、分组并给每组排序select row_number() over(partition by '分组字段' order by '排序字段' desc ) from '表名';二、关联两个sql的查询结果-- union在连接查询的两张表的时候,会自动去除 重复的数据。-- union all 在连接查询的时候,只是简单的将两张表中的数据进行连接,不会去除重复的数据。sql1...原创 2019-07-19 22:28:19 · 849 阅读 · 0 评论 -
用java从sql server2008中读取得到的date时间数据比数据库里的实际时间要少两天
问题如下:这用语句查出来的数据这是用Java代码查出来的数据造成这种问题的原因:数据库中存储该字段使用的时date类型,当使用jdbc读取的时候就会发生少两天的情况。解决方式:将date类型改为datetime类型...原创 2019-04-01 14:51:42 · 753 阅读 · 0 评论 -
MongoDB的简单介绍
MongoDB的安装和启动就不介绍了;创建maven工程,引入依赖 <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> ...原创 2018-10-30 17:14:11 · 296 阅读 · 0 评论