Codeforces Round #209 (Div. 2)——Prime Number

MySQL使用的是插件式存储引擎。

主要包括存储引擎有:MyISAM,Innodb,NDB Cluster,Maria,Falcon,Memory,Archive,Merge,Federated。

其中最为广泛的是MyISAM 和Innodb两种存储引擎,所以接下来对它们做简单介绍。

MyISAM 存储引擎简介

MyISAM 存储引擎的表存储在数据库中,每一个表都被存放为三个以表名命名的物理文件。

1、(.frm文件)任何存储引擎都不可缺少的存放表结构定义信息的文件

2、(.MYD文件)存放表数据的文件

3、(.MYI文件)存放该表所有索引数据的文件

注:有且仅有这样三个文件做为MyISAM 存储类型的表的存储

MyISAM 的表以不同的格式存放在一个相同后缀名的.MYD 文件中。

其中格式分为:静态(FIXED)固定长度、动态(DYNAMIC)可变长度以及压缩(COMPRESSED)三种格式。

压缩:可以创建表的时候通过ROW_FORMAT 来指定{COMPRESSED | DEFAULT}(默认不压缩)

也可以通过myisampack 工具来进行压缩

非压缩:

动态:只要表中有可变长度类型的字段存在,那么该表就肯定是DYNAMIC 格式的

静态:如果没有任何可变长度的字段,则为FIXED 格式

MyISAM 支持以下三种类型的索引:

1、B-Tree 索引

B-Tree 索引,所有的索引节点都按照balance tree 的数据结构来存储,所有的索引数据节点都在叶节点。

2、R-Tree 索引

R-Tree 索引的存储方式和b-tree 索引有一些区别,主要设计用于为存储空间和多维数据的字段做索引,支持geometry 类型的字段作索引。

3、Full-text 索引

Full-text 索引就是我们长说的全文索引,他的存储结构也是b-tree。主要是为了解决在我们需要用like 查询的低效问题。

注:参与一个索引的所有字段的长度之和不能超过1000 字节

Innodb 存储引擎简介

1、支持事务安装

实现了SQL92 标准所定义的所有四个级别(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ 和SERIALIZABLE)

2、数据多版本读取

Innodb 在事务支持的同时,为了保证数据的一致性已经并发时候的性能,通过对undo信息,实现了数据的多版本读取。

3、锁定机制的改进

Innodb 改变了MyISAM 的锁机制,实现了行锁。行锁机制的实现是通过索引来完成的。

4、实现外键

建议不要使用外键,数据库系统调优专家都建议不要使用

5、Innodb 的物理结构

跟MyISAM一样:(.frm 文件)来存放表结构定义相关的元数据。

跟MyISAM不一样:表数据和索引数据是存放在一起的

Innodb 的物理结构分为两大部分:

1、数据文件(表数据和索引数据)

存放数据表中的数据和所有的索引数据,包括主键和其他普通索引。

Innodb 的表空间分为两种形式:

一种是共享表空间,也就是所有表和索引数据被存放在同一个表空间(一个或多个数据文件)中,

通过innodb_data_file_path 来指定,增加数据文件需要停机重启。

另外一种是独享表空间,也就是每个表的数据和索引被存放在一个单独的.ibd 文件中。

注:共享表空间是必须存在的,因为Innodb 的undo 信息和其他一些元数据信息都是存放在共享表空间里面的。

共享表空间的数据文件是可以设置为固定大小和可自动扩展大小两种形式,

自动扩展形式的文件可以设置文件的最大大小和每次扩展量。

2、日志文件

Innodb 的日志文件和Oracle 的redo 日志比较类似:

可以设置多个日志组(最少2个),

采用轮循策略来顺序的写入,

甚至在老版本中还有和Oracle 一样的日志归档特性。

注:千万别全部删除innodb 的日志文件,因为很可能就会让你的数据库crash,无法启动,或者是丢失数据。

Innodb 完全可以通过redo 日志将数据库Crash 时刻已经完成但还没有来得及将数据写入磁盘的事务恢复,也能够将所有

部分完成并已经写入磁盘的未完成事务回滚并将数据还原。

Innodb 的所有参数基本上都带有前缀“innodb_”,

可以仅仅通过参数(skip-innodb)来屏蔽MySQL 中的Innodb存储引擎,

这样即使我们在安装编译的时候将Innodb 存储引擎安装进去了,使用者也无法创建Innodb 的表。

Codeforces Round #209 (Div. 2)——Prime Number

时间: 2024-10-12 19:00:59

Codeforces Round #209 (Div. 2)——Prime Number的相关文章

Codeforces Round #266 (Div. 2)C. Number of Ways

传送门 Description You've got array a[1], a[2], ..., a[n], consisting of n integers. Count the number of ways to split all the elements of the array into three contiguous parts so that the sum of elements in each part is the same. More formally, you nee

Codeforces Round #153 (Div. 1) C Number Transformation bfs

//到达2 , 3 ... k的最小公倍数为lcm //当x到达lcm的倍数时,x只能减一 //又从a到b一定会过lcm的倍数 //我们将a,b以lcm分割 //那么完整的lcm段的最小数是相同的,所以我们只需要计算一个lcm段的最小值乘以完整lcm段的个数 //以及首尾的不全的lcm段的和即为答案 #include<cstdio> #include<cstring> #include<iostream> #include<queue> using name

数学+DP Codeforces Round #304 (Div. 2) D. Soldier and Number Game

题目传送门 1 /* 2 题意:这题就是求b+1到a的因子个数和. 3 数学+DP:a[i]保存i的最小因子,dp[i] = dp[i/a[i]] +1;再来一个前缀和 4 */ 5 /************************************************ 6 Author :Running_Time 7 Created Time :2015-8-1 14:08:34 8 File Name :B.cpp 9 ******************************

DP+埃氏筛法 Codeforces Round #304 (Div. 2) D. Soldier and Number Game

题目传送门 1 /* 2 题意:b+1,b+2,...,a 所有数的素数个数和 3 DP+埃氏筛法:dp[i] 记录i的素数个数和,若i是素数,则为1:否则它可以从一个数乘以素数递推过来 4 最后改为i之前所有素数个数和,那么ans = dp[a] - dp[b]: 5 详细解释:http://blog.csdn.net/catglory/article/details/45932593 6 */ 7 #include <cstdio> 8 #include <algorithm>

二分查找/暴力 Codeforces Round #166 (Div. 2) B. Prime Matrix

题目传送门 1 /* 2 二分查找/暴力:先埃氏筛选预处理,然后暴力对于每一行每一列的不是素数的二分查找最近的素数,更新最小值 3 */ 4 #include <cstdio> 5 #include <cstring> 6 #include <algorithm> 7 using namespace std; 8 9 const int MAXN = 5e2 + 10; 10 const int MAXM = 1e6 + 10; 11 const int INF = 0

Codeforces Round #315 (Div. 1)

A. Primes or Palindromes? time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are too complex and un

Codeforces Round #356 (Div. 2) [Codeforces680]

此处有目录↑ Codeforces Round #356(Div. 2):http://codeforces.com/contest/680 A. Bear and Five Cards (贪心) time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A little bear Limak plays a game. He has

Codeforces Round #339 (Div. 2) B. Gena&#39;s Code

B. Gena's Code It's the year 4527 and the tanks game that we all know and love still exists. There also exists Great Gena's code, written in 2016. The problem this code solves is: given the number of tanks that go into the battle from each country, f

Codeforces Round #275 (Div. 1)A. Diverse Permutation 构造

Codeforces Round #275 (Div. 1)A. Diverse Permutation Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/482/problem/A Description Permutation p is an ordered set of integers p1,   p2,   ...,   pn, consisting of n distinct posi