优化MYSQL数据库的方法

1、建立索引:
  a、( 普通索引 )->
  创建:CREATE INDEX <索引名> ON tablename (索引字段)
  修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
  创表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
  b、(唯一索引)->
  创建:CREATE UNIQUE <索引名> ON tablename (索引字段)
  修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
  创表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
  c、(主键索引)->
  它是唯一索引,一般在创建表是建立,格式为:
  CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])
2 优化查询语句
  最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作
  a、例子1:
  SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)
  SELECT * FROM order WHERE orderDate<"2008-01-01";(快)
  b、例子2:
  SELECT * FROM order WHERE addtime/7<24;(慢)
  SELECT * FROM order WHERE addtime<24*7;(快)
  c、例子3:
  SELECT * FROM order WHERE title like "%good%";
  SELECT * FROM order WHERE title>="good" and name<"good";
3 MySQL函数小结
  a、MYSQL取得当前时间的函数是?
  now()
  b、格式化日期的函数是?
  date()
  c、自动 插入当前时间 ?
  将列属性设置为 “TIMESTAMP”,设置其 default 为 “CURRENT_TIMESTAMP”。但是其只对“TIMESTAMP"有效。
  d、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
  mysql_fetch_row是从结果集取出1行数组,作为枚举
  mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得
  e、取得查询结果集总数的函数是?
  mysql_num_rows($result);
4 、写出三种以上MySQL数据库存储引擎的名称
   MyISAM InnoDB BDB (Berkeley DB)、Merge、Memory(Heap)、Example、Federated、Archive、CSV、Blackhole、MaxDB 等等十几个引擎
5 MySQL数据库基本的三个优化法则是什么,除了增加硬件带宽
  (提示:从服务配置、应用、开发角度考虑)
  (1)系统服务优化,把MySQL的key_buffer、cache_buffer、query_cache等增加容量
  (2)给所有经常查询的字段增加 适当的索引
  (3)优化SQL语句,减少Ditinct、 Group、Join 等等语句的操作
6 、优化MYSQL数据库的方法
  (1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。
  (2).使用连接(JOIN)来代替子查询(Sub-Queries)
  (3).使用联合(UNION)来代替手动创建的临时表
  (4).尽量少使用 LIKE 关键字和通配符
  (5).使用事务和外键
7 、对于大流量的网站,采用什么样的方法来解决访问量问题?
  首先,确认服务器硬件是否足够支持当前的流量
  其次,优化数据库访问。
  第三,禁止外部的盗链。
  第四,控制大文件的下载。
  第五,使用不同主机分流主要流量
  第六,使用流量分析统计软件。
8 、请简述数据库设计的范式及应用
  一般第3范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成系统效率低下。
  第一范式:若关系模式R的每一个属性是不可再分解的,再属于第一范式。
  第二范式:若R属于第一范式,且所有的非码属性都完全函数依赖于码属性,则为第二范式。
  第三范式:若R属于第二范式,且所有的非码属性没有一个是传递函数依赖于候选码,则属于第三范式。
9、连接数据库操作的步骤是什么?每一步的返回值是什么数据类型?
  $coon = mysql_connect('localhost', 'root' ,''); //返回资源类型
  mysql_select_db('bbs', $coon);        // 布尔类型
  mysq_query('set names utf8');  //布尔类型
  $qry = mysql_query('select * from bbsinfo');  // 资源类型
  mysql_fetch_row($qry);        // 数组类型
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值