首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    行列转换-互相转换

    一、多行多列(竖) 原始数据中是一个竖,每个学生的每个学科一行数据,对其转换成一张,即中学生id为主键,包含语文、数学、英语三列,列值为对应学科分数。...1、基础数据 有学生成绩,包含学生id、学科、成绩 +-------------+----------+--------+ | student_id | subject | score | +-...002', '英语', 97), ('003', '语文', 81), ('003', '数学', 94), ('003', '英语', 88); 二、多列多行...() 原始数据为一张,分别有三列成绩列,想要转成竖,需要转换成三列分别为 学生id、学科、成绩,转换完成之后学生id将不再是主键。...1、基础数据 有学生成绩,包含学生id、语文、数学、英语三科成绩 +-------------+--------+---------+---------+ | student_id | yuwen

    7810

    Mysql分库分方案

    Mysql分库分方案 1.为什么要分: 当一张的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分的目的就在于此,减小数据库的负担,缩短查询时间。...mysql中有一种机制是锁定和行锁定,是为了保证数据的完整性。锁定表示你们都不能对这张进行操作,必须等我对表操作完才行。...从上层的java程序来讲,不需要知道主服务器和从服务器的来源,即主从数据库服务器对于上层来讲是透明的。可以通过amoeba来配置。  ...3.大数据量并且访问频繁的,将其分为若干个 比如对于某网站平台的数据库-公司,数据量很大,这种能预估出来的大数据量表,我们就事先分出个N个,这个N是多少,根据实际情况而定。      ...某网站现在的数据量至多是5000万条,可以设计每张容纳的数据量是500万条,也就是拆分成10张, 那么如何判断某张的数据是否容量已满呢?

    2.5K30

    打造最快的Hash()

    最合适的算法自然是使用HashTable(哈希),先介绍介绍其中的基本知识,所谓Hash,一般是一个整数,通过某种算法,可以把一个字符串”压缩” 成一个整数,这个数称为Hash,当然,无论如何,一个32...是不是把第一个算法改进一下,改成逐个比较字符串的Hash值就可以了呢,答案是,远远不够,要想得到最快的算法,就不能进行逐个的比较,通常是构造一个哈希(Hash Table)来解决问题,哈希是一个大数组...解决该问题的方法很多,我首先想到的就是用”链表”,感谢大学里学的数据结构教会了这个百试百灵的法宝,我遇到的很多算法都可以转化成链表来解决,只要在哈希的每个入口挂一个链表,保存所有对应的字符串就OK了。...基本原理就是:他们在哈希中不是用一个哈希值而是用三个哈希值来校验字符串。...哈希中这个位置为空吗?

    2.5K41

    Java顺序

    https://www.captainbed.cn/f1 Java顺序Java中实现线性结构的一种方式,它采用数组来存储元素,通过下标访问元素,具有快速访问和修改特定位置元素的特点,但插入和删除操作可能涉及较多元素的移动...常见线性 线性是一种在实际中广泛使用的数据结构,常见的线性:顺序、链表、栈、队列、字符串… 总结 线性是一种数据结构,由一组有序的元素组成,元素之间具有线性关系。...顺序的分类 顺序一般可以分为 静态顺序:使用定长数组存储。 动态顺序:使用动态开辟的数组存储。 静态顺序适用于确定知道需要存多少数据的场景....静态顺序的定长数组导致N定大了,空间开多了浪费,开少了不够用.相比之下动态顺序更灵活, 根据需要动态的分配空间大小. 顺序的实现 throw 在Java中,throw关键字用于抛出异常。...= 0; } } 这是一个实现顺序Java类。

    5200

    MySQL的分与分区(

    MySQL分分区是解决大数据量导致MySQL性能低下的两种方法。 什么是MySQL分 从表面意思上看,MySQL分就是将一个分成多个,数据和数据结构都有可能会变。...MySQL分分为垂直分和水平分。 1、垂直分 垂直分是按中的字段来划分的,如下图所示。 在上图中,我们将本来分布在同一张中的C1、C2、C3、C4四个字段垂直划分到两个中。...第一张中分布C1、C3、C4三个字段,第二张中分布C1、C2两个字段。拆分后的两个通过C1这个共同的字段关联起来。 2、水平分 水平分是按中的记录来划分的。如下图所示。...按照日期分。对于日志或统计类等的。可以按照年,月,日,周分。...分和分区不矛盾,可以相互配合的,对于那些大访问量,并且数据比较多的,我们可以采取分和分区结合的方式(如果merge这种分方式,不能和分区配合的话,可以用其他的分试),访问量不大,但是数据很多的

    2K20

    MySQL高频面试题:一维二维

    本文所用的信息 学生stu 字段名 数据类型 约束条件 s_id varchar(10) primary key s_name varchar(10) not null s_birth date...varchar(10) c_id varchar(10) score int 面试题 查询所有学生的课程及分数情况 分析,课程与分数情况,用到学生及成绩,两张都是一维,将其转化为右图所示的二维...*,c_id,score FROM stu LEFT JOIN sc ON stu.s_id=sc.s_id; 第二步,将上面得到的结果转换为二维 ?...成绩。"...以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率,及格为:>=60,中等为:70-80,优良为:80-90,优秀为:>=90 分析,从需要显示的列看出需要用到课程和成绩

    1.1K30

    Java|Java生成Excel

    说干就干,修改后台代码,实现用Java生成Excel表格。我们应该怎么做呢?...首先我们来分析一下我们平时在创建Excel表格的时候都有哪些步骤:第一步是打开MS Office的Excel,这属于创建一个。第二部就是在表里面创建一个Sheet工作薄。...总的来说就是先有,再有工作簿,再创建行,每创建一行就在行里创建单元格。 接下来我们看看Java怎么实现。我们在代码中也是按照上面所说的步骤一步一步的实现,首先就是创建。...org.apache.poi.hssf.usermodel.HSSFWorkbook这个类为我们提供了创建的功能,可以说这个类就是一个文件,这个类下的createSheet方法就是我们说的创建Sheet...完成了Excel表格创建问题,那么接下来就是要让这个的能被下载了。

    2.8K40

    java mysql 分区_mysql分区

    对用户来说,分区是一个独立的逻辑,但是底层由多个物理子表组成。实现分区的代码实际上是对一组底层的句柄对象的封装。 mysql在创建时使用PARTITION BY子句定义每个分区存放的数据。...在下面的场景中,分区可以起到非常大的作用: 1.非常大以至于无法全部都放在内存中,或者只在的最后部分有热点数据,其他均是历史数据。 2.分区的数据更容易维护。...4.分区中无法使用外键约束。...分区上的操作按照下面的操作逻辑进行: select查询 当查询一个分区的时候,分区层先打开并锁住所有的底层,优化器先判断是否可以过滤部分分区,然后再调用对应的存储引擎接口访问各个分区的数据。...虽然每个操作都有“先打开并锁住所有的底层”,但这并不是说分区在处理过程中是锁住全的。如果存储引擎能够自己实现行级锁,例如innoDb,则会在分区层释放对应锁。

    7.8K10
    领券