关闭

MySQL修改表结构及SQL性能优化

标签: mysql性能优化索引sqlselect
545人阅读 评论(0) 收藏 举报
分类:
修改表结构:

1、添加字段

alter table tablename add email varchar(30) not null;

alter table tablename add id int unsigned not null auto_increment primary key;

2、修改字段

alter table tablename modify colname varchar(10);//修改字段数据类型

alter table tablename change colname newcolname varchar(20);//修改字段名

3、删除字段

alter table tablename drop  colname;


创建用户:

创建decorate用户对decorate库有操作权限 密码123456

grant select,insert,update,delete on decorate.* to decorate@"%" identified by "123456"

性能优化:

1.尽可能的将字段设置为NOT NULL。
2.有些字段使用ENUM而不是VARCHAR,比如“性别”,“国家”,“民族”,“状态”或“部门”。
3.永远为每张表设置一个ID,每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的AUTO_INCREMENT标志。
4.避免select * 这种方式,改用用字段名。
5.避免在WHERE子句中使用in,not in,or 或者having,使用 exist 和not exist代替 in和not in。
6.避免大规模排序,ORDER BY、GROUP BY、HAVING子句。
7.检查索引,为WHERE、JOIN中用到的字段加上索引,为搜索字段建索引。
不要在建立索引的字段上进行下列操作:

避免对索引字段进行计算操作

避免在索引字段上使用not,<>,!=

避免在索引列上使用IS NULL和IS NOT NULL

避免在索引列上出现数据类型转换

避免在索引字段上使用函数

避免建立索引的列中使用空值。

8.避免在JOIN、WHERE子句中使用计算。
9.避免在查询中使用%模糊匹配。
10. 当只要一行数据时使用LIMIT1,可以增加性能,这样数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。
如:

"SELECT name,pass FROM user WHERE name = 'test'"   改为  "SELECT name,pass FROM user WHERE name = 'test' LIMIT 1"。

0
0
查看评论

常用 MySQL 修改表结构命令

一、字段1、添加字段:alter table `product` add `inventory` int(11) NOT NULL COMMENT '库存'添加多个字段:加括号,逗号分隔alter table `category` add ( `company` tinyint(4)...
  • u012099869
  • u012099869
  • 2016-09-29 13:45
  • 1457

mysql命令更改表结构:添加、删除、修改字段、调整字段顺序

原文出处:http://www.phpernote.com/mysql/1120.html 常用的通过mysql命令来更改表结构的一些sql语句,包括添加、删除、修改字段、调整字段顺序。 添加字段: alter table `user_movement_log` Add...
  • shen_jz2012
  • shen_jz2012
  • 2015-11-02 15:32
  • 4416

通过存储过程更新表结构

/* oracle版本修改表结构  * sp_alter_table:修改表结构  *   t_name:表名称  *   f_name:列名称  *   ftype:数据类型  *===================...
  • sageparadise
  • sageparadise
  • 2016-06-03 15:58
  • 912

Mysql 更改表结构--增加,修改,删除

建立一张student表: 表结构如下所示: 添加列: ALTER TABLE tablename ADD column datatype [primary key/default/not null/...] AFTER 'columnX'   //在...
  • airjordon
  • airjordon
  • 2017-05-24 17:26
  • 551

SQL_修改表结构

SQL_修改表结构 说明 实验环境:利用scott用户数据,简单举例修改表结构范例 SQL> create table emp1 as select * from emp; Table created --创建实验表 1. 表中添加新列 (1)、语法 SQL> alter table 表...
  • huangyanlong
  • huangyanlong
  • 2014-10-03 20:10
  • 6910

SQL语句动态修改表结构(增加删除列)

ALTER   TABLE   TableName   add   ColumnName   VARCHAR(20)   NULL   ALTER &...
  • jiangfeng128
  • jiangfeng128
  • 2006-10-26 12:09
  • 1855

用SQL语句修改SQL表结构

最近,由于工作需要使用了SQL 2008数据库,遇到一些问题。当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示: 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改...
  • yangna01314
  • yangna01314
  • 2010-03-12 19:27
  • 4630

Oracle表结构修改SQL

大概:    1、删除表的列:                     alter   table   yourtable   drop ...
  • qibujinglong110
  • qibujinglong110
  • 2010-03-26 14:59
  • 2580

常用数据表结构修改sql语句(oracle)

修改表名:ALTER TABLE srcRENAME  TO dest;修改列名:ALTER TABLE tablename RENAME COLUMN src TO dest;修改列的数据类型:ALTER TABLE tablename MODIFY col VARCHAR2(...
  • netingcn
  • netingcn
  • 2006-07-17 11:39
  • 15154

MySQL查看表结构命令

创建数据库 create database abc; 显示数据库 show databases; 使用数据库 use 数据库名; 显示表 show tables; desc 表名; show columns from 表名; describe 表名; show create table 表名...
  • i7thTool
  • i7thTool
  • 2016-11-03 11:12
  • 3870
    个人资料
    • 访问:120603次
    • 积分:1544
    • 等级:
    • 排名:千里之外
    • 原创:64篇
    • 转载:6篇
    • 译文:1篇
    • 评论:38条
    个人信息
    文章分类
    最新评论