真实环境安装在linux上比较多 ,500w以上要做优化
1.4
1.5
Mysql是一个数据库,
Navicat是一个数据库的可视化页面,mysql可以用命令行直接操作,也可以用Navicat连接mysql后操作,Navicat=命令行操作mysql。
如果mysql部署在远程服务器上,那就需要SSH先远程连接上这台服务器,再命令行操作即可。
用Navicat如何连接Mysql?
------------------------------------------------------------------------------------------------------------------------------
1.创建数据库:
Navicat 可以在工具中找历史日志
2.命令行连接数据库:
3.常用命令
4. 列属性
数据类型
数值:常用 int
5.
当属性为数值类型
6.规范:
每一个表必须要下面5个字段
7.创建数据库
8. 查询建表语句 show create table 表名
9.数据库引擎
navicat:‘设计表’---表正上方的导航栏里‘选项’---‘引擎’
-------------------------------------------------------------------------------------------------------------------------------
1.外键:
物理外键(数据库级别的外键,麻烦,避免数据库太多造成困扰,避免使用)
2.修改数据库
以上是对 表结构的操作;
alter用来修改基本表,是对表的结构进行操作,比如对字段增加,删除,修改类型
-------------------------------------------------------------------------------------------------------------------------------
对数据库 的增删查改:
update用来修改表中的数据,修改某一行某一列的值
数据库的增删查改:
insert:
当主键是自增时,不需要:插入该主键
(此时,主键就算自增,也不是省略)
update:
delete:
设计数据库时,主键是必须设置的。一般情况下,咱们都会选择使用主键自增或者UUID这两种主键策略。那么这两个哪种更好呢?数据库主键到底是用自增长好还是UUID好
一. 主键自增
-
使用自增长做主键的优点
很小的数据存储空间;
性能最好;
容易记忆。
-
使用自增长做主键的缺点
如果存在大量的数据,可能会超出自增长的取值范围;
很难(并不是不能)处理分布式存储的数据表,尤其是需要合并表的情况下;
安全性低,因为是有规律的,容易被非法获取数据。
二. UUID
-
使用UUID做主键的优点
它是独一无二的,出现重复的机会少;
适合大量数据中的插入和更新操作,尤其是在高并发和分布式环境下;
跨服务器数据合并非常方便;
安全性较高。
-
使用UUID做主键的缺点
存储空间大(16 byte),因此它将会占用更多的磁盘空间;
会降低性能;
很难记忆。
三. 使用选择
那么一般情况下,对于以上两种主键策略,我们该如何选择呢?
一般情况下,MySQL推荐我们使用自增ID。这是因为在MySQL的 InnoDB 存储引擎中,主键索引是聚簇索引,主键索引的B+树叶子节点会按照顺序存储主键的值及数据。如果主键索引是自增ID,只需要按顺序往后排列即可;如果是UUID,ID是随机生成的,所以在数据插入时会造成大量的数据移动,产生大量的内存碎片,造成插入性能的下降。
如果我们要结合具体的项目,又该选择哪种注解策略呢?此时要分如下几种情况:
项目是单机版的,并且数据量比较大(百万级)时,用自增长的,此时最好能考虑下安全性,做些安全措施。
项目是单机版的,并且数据量没那么大,对速度和存储要求不高时,用UUID。
项目是分布式的,那么首选UUID,分布式一般对速度和存储要求不高。
项目是分布式的,并且数据量达到千万级别可更高时,对速度和存储有要求时,可以用自增长。