![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Rnan-prince
知是行之始,行是知之成(1352638748@qq.com)
展开
-
SQL的GROUP_CONCAT给值加上单引号后再拼接
可以在拼接的值名称前后添加引号和逗号解决。SELECT GROUP_CONCAT(DISTINCT '''',id,'''') FROM {table_name} 结果:"'id1','id2','id3','id4'"原创 2021-11-20 21:02:09 · 1566 阅读 · 0 评论 -
数据库-分库分表优化
1、为什么要拆分数据库?一个数据库的连接数是有上限的,当业务系统变得繁杂时,如果都存储在一个数据库中,那么势必会因为数据库达到瓶颈;此时就需要对数据库中表进行拆分,将其分散到多个数据库中去。数据库拆分原则:就是指根据系统业务实际情况,将原本放在一个数据库中的数据分散放到多个数据库中去,减少单库的负载。2、垂直拆分垂直切分:简单的说就是将数据库中的各个表,依据业务情况将一些表放在一个数据库中,一些表放在另外一个数据库中,比如商城这些的数据库端按照业务垂直拆分:按照业务订单数据库、用户数据库、原创 2021-11-20 20:03:52 · 739 阅读 · 0 评论 -
数据库批量插入,存在则更新,不存在则插入
INSERT … ON DUPLICATE KEY UPDATE … 语句在并发量比较高的时候,可能两个线程都查询某个记录不存在,所以会执行两次插入,然后其中一条必然会因为主键(这里说的主键不是递增主键)冲突而失败。数据库层MySQL中INSERT … ON DUPLICATE KEY UPDATE … 就可以做这个事情,并且是原子性操作。1、单条记录下使用:INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE...原创 2021-10-13 00:21:09 · 9141 阅读 · 2 评论 -
SQL 统计同一字段不同值的个数
已知数据表test如下day result 2018-2-1 胜 2018-2-1 胜 2018-2-1 负 2018-2-2 胜 2018-2-2 负 2018-2-2 负 要求:以 day 字段作为分组,并统计 result 字段中不同值的个数(1)大多数情况下,我们遇到的问题是根据分组结果,统计每个分组的个数,其语法如下,此语法只能统计所有的记录个数,无法根据同一字段的不同值统计SELECT COUNT(*) FRO.原创 2021-10-13 00:12:21 · 9975 阅读 · 0 评论 -
Redis+bitmap的应用
BitMap是什么就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省储存空间。Redis中的BitMapRedis从2.2.0版本开始新增了setbit,getbit,bitcount等几个bitmap相关命令。虽然是新命令,但是并没有新增新的数据类型,因为setbit等命令只不过是在set上的扩展。setbit命令介绍指令SETBIT key offset value复杂度O(..原创 2021-07-15 22:20:55 · 137 阅读 · 0 评论 -
mysql导出数据 select load_file(“路径“)出现null
mysql导出数据 select load_file("路径“)出现null但是该文件确实是有东西的。我用的是phpstudy。解决方法:打开一个my.ini的文件(C:\phpstudy_pro\Extensions\MySQL5.7.26\my.ini)然后是在mysqld下的一行添加secure_file_priv=C:/phpstudy_pro/WWW/然后就重启一下mysql再重新进入,重新输入,还是不OK!在输入文件绝对路径的时候,要懂得用/用原创 2021-07-07 23:24:48 · 667 阅读 · 0 评论 -
用phpstudy搭建sqli-lab环境时发生Uncaught Error: Call to undefined function mysql_connect()错误
问题Uncaught Error: Call to undefined function mysql_connect()原因经查php手册可知 mysql_connect() 在php5以后的版本中不在使用,使用mysqli_conncet()代替,准确的来说是mysql类被mysqli类代替,在php5+版本中可以同时使用mysql类和mysqli类。解决方法在phpstudy环境下我们可以对php版本进行降级,选择php5+版本即可。具体操作操作:打开phpstudy ->原创 2021-07-01 00:45:17 · 2698 阅读 · 0 评论 -
mybatis批量插入和更新list到数据库
功能实现mybatis批量插入数据,已有的则更新。有一个对象如下:public class RItemBean { /** * 主键 * */ private String id; /** * 租房信息表ID,外键 * */ private String rentalInfoId; /** * 物品名称 * */ private String itemName; .原创 2021-05-15 17:41:09 · 1742 阅读 · 0 评论 -
Spark处理数据比Hive快的原因
Spark SQL比Hadoop Hive快,是有一定条件的,而且不是Spark SQL的引擎比Hive的引擎快,相反,Hive的HQL引擎还比Spark SQL的引擎更快。其实,关键还是在于Spark 本身快。那么Spark为什么快呢? 消除了冗余的HDFS读写 Hadoop每次shuffle操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加。、 消除了冗原创 2021-01-17 22:12:29 · 1728 阅读 · 0 评论 -
Redis、传统数据库、HBase以及Hive的区别
Redis分布式缓存,基于内存,强调缓存,支持数据持久化,支持事务操作,NoSQL 类型的Key/vale数据库,同时支持List、Set等更丰富的类型。hbaseHBase是建立在HDFS之上,提供高可靠性的列存储,实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。关系数据库有mysql、Oracle、SqlServer等,支持事务性操作,属于写模式,即写入数据时进行检查。它是针对原创 2021-01-17 22:08:38 · 1014 阅读 · 0 评论 -
PySpark - Spark SQL基础
Spark SQL 是 Apache Spark 处理结构化数据的模块。一、初始化 SparkSessionSparkSession 用于创建数据框,将数据框注册为表,执行 SQL 查询,缓存表及读取 Parquet 文件。from pyspark.sql import SparkSessionspark = SparkSession \ .builder \ .appName("Python Spark SQL basic example") \ .config(原创 2020-06-26 00:22:31 · 559 阅读 · 0 评论 -
mysql面试题总结
1. 主键 超键 候选键 外键1)超键(super key) :在关系中能唯一标识元组的属性集称为关系模式的超键2)候选键(candidate key):不含有多余属性的超键称为候选键3)主键(primary key):用户选作元组标识的一个候选键程序主键4)外键(foreign key):如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1...转载 2018-09-05 09:11:07 · 948 阅读 · 0 评论 -
MySQL中的连接查询
联接的可分为以下几类:内联接、外联接(左外联接、右外联接和全外联接)和交叉联接1)内联接 — 比较运算符(包含:相等联接、不相等联接和自然联接)2)外联接 — 在FROM子句中指定外联接 左外联接(left Join)— 结果集为左表的所有行,无论在右表是否得到匹配 右外联接(right Join)— 结果集为右表的所有行 全外联接(full Join)— 结果集为...转载 2018-08-14 12:34:35 · 489 阅读 · 0 评论