mysql中key 、primary key 、unique key 与index区别

问题描述

请详细说明下 mysql中key 、primary key 、unique key 与index区别

解决方案

参考下这个链接:http://zccst.iteye.com/blog/1697043

时间: 2024-11-01 16:49:22

mysql中key 、primary key 、unique key 与index区别的相关文章

Mysql中对primary key一点选择改变

在5.1.46中优化器在对primary key的选择上做了一点改动: Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the full row length for a clustered primary key, as in InnoDB. Secondary covering indexes will now be pref

简单分析MySQL中的primary key功能_Mysql

在5.1.46中优化器在对primary key的选择上做了一点改动: Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the full row length for a clustered primary key, as in InnoDB. Secondary covering indexes will now be pref

mysql中INSERT INTO… ON DUPLICATE KEY UPDATE用法

MySQL 自4.1版以后开始支持INSERT - ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成. 例如ipstats表结构如下:  代码如下 复制代码 CREATE TABLE ipstats ( ip VARCHAR(15) NOT NULL UNIQUE, clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' ); 原本需要执行3条SQL语句

mysql中count(id) count(1) count(*)的用法区别

表结构如下:  代码如下 复制代码 mysql> show create table userG; *************************** 1. row ***************************        Table: user Create Table: CREATE TABLE `user` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `name` varchar(50) NOT NULL,  

MySQL中两种索引Hash与B-Tree的区别

MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考. MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引. 可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引

MySQL中select into和MSSQL select into用法区别

  一.MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下: 方法1: MYSQL不支持:  代码如下 复制代码 Select * Into new_table_name from old_table_name; 替代方法: Create table new_table_name (Select * from old_table_name); 方法2: 1.先备份表结构和数据 #导出命令 -u用户名 -p密

Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结_Mysql

用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别.. ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM table WHERE txt = 'a' 那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以. utf8_general_

mysql中int、bigint、smallint、tinyint区别与长度

使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数 int 从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节.int 的 SQL-92 同

Mysql中unique与primary约束的区别分析

定义了UNIQUE约束的字段中不能包含重复值,可以为一个或多个字段定义UNIQUE约束,因此,UNIQUE即可以在字段级也可以在表级定义,在UNIQUE约束的字段上可以包含空值. ORACLE自动会为具有PRIMARY KEY约束的字段(主码字段)建立一个唯一索引和一个NOT NULL约束,定义PRIMARY KEY约束时可以为它的索引: UNIQUED 可空,可以在一个表里的一个或多个字段定义:   PRIMARY KEY不可空不可重复,在一个表里可以定义联合主键:简单的说, primary

MySQL中UTF8编码的数据在cmd下乱码

花了一下午,解决MySQL在Windows的cmd下中文乱码的问题. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 mysql> use abc; Database changed mysql> select * from school; +----------+--------------------+-------------------------------------------+ | schoolid | name               | address