Mysql
ufojoan
这家伙不是一般的懒,简介都没有
展开
-
MySQL之Explain
99%的PHP性能问题都是数据库造成的,一条糟糕的SQL语句可能让你的整个程序都非常慢。MySQL的EXPLAIN statement,Query Profiler,many other tools的这些工具可以帮你找出那些调皮的SELECT。 原文地址:http://hi.baidu.com/thinkinginlamp/blog/item/eef0cd119239db17b8127b6转载 2012-01-30 15:18:11 · 291 阅读 · 0 评论 -
慎用mysql max()函数,可通过走索引替换
mysql max() 函数的需扫描where条件过滤后的所有行:在测试环境中重现:测试版本:Server version: 5.1.58-log MySQL Community Server (GPL)testtable表中的索引mysql> show index from testtable;+-----------+转载 2013-11-11 11:48:26 · 2235 阅读 · 0 评论 -
对mysql explain讲的比较清楚的
在 explain的帮助下,您就知道什么时候该给表添加索引,以使用索引来查找记录从而让select 运行更快。如果由于不恰当使用索引而引起一些问题的话,可以运行 analyze table来更新该表的统计信息,例如键的基数,它能帮您在优化方面做出更好的选择。explain 返回了一行记录,它包括了 select语句中用到的各个表的信息。这些表在结果中按照mysql即将执行的查询中读取的转载 2013-11-11 11:48:50 · 387 阅读 · 0 评论 -
mysql性能优化-慢查询分析、优化索引和配置
目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1) max_connections2) back_log3) interactive_timeout4)转载 2013-11-11 11:50:05 · 672 阅读 · 0 评论 -
MySQL 时间戳(Timestamp)函数
1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp, current_timestamp();+---------------------+---------------------+| current_timestamp | current_timesta转载 2014-04-11 12:05:59 · 719 阅读 · 0 评论 -
mysql show processlist命令 详解
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。请参见13.5.5.3节,“KILL语法”。如果您不使用FULL关键词,则只显示每个查询的前100个字符。本语句报告TCP/IP连接的主机名称转载 2014-04-11 14:08:17 · 344 阅读 · 0 评论 -
MySQL脚本添加字段和修改字段/索引的方法
MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助。1.登录数据库>mysql -u root -p 数据库名称2.查询所有数据表>show tables;3.查询表的字段信息>desc 表名称;4.1添加表字段alter table table1 add转载 2014-04-11 14:08:48 · 2959 阅读 · 0 评论 -
用unix socket加速php-fpm、mysql、redis的连接
图虫的服务器长期是单机运行。估计除了mysql之外,php-fpm和redis还可以在单机上共存很长时间。(多说服务器早就达成了单机每日2000万+动态请求,所以我对单机搞定图虫的大流量非常乐观) 如果是单机服务,其实就不需要用IP哪怕是127.0.0.1这样的IP去连接mysql/redis/php了,因为即使是127.0.0.1也是要走TCP/IP层的。 unix提供的un转载 2014-05-29 18:04:34 · 2624 阅读 · 0 评论 -
MySQL如何导入csv格式数据文件解决方案
1、指定文件路径。 2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。 3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。 Sql代码 复制代码代码如下:load data infile 'D:\\top-1m.csv' into table `site` fields terminated by ',' o转载 2014-05-29 18:25:05 · 840 阅读 · 0 评论 -
mysql 查看索引
查看索引mysql> show index from tblname;mysql> show keys from tblname;· Table表的名称。· Non_unique如果索引不能包括重复词,则为0。如果可以,则为1。· Key_name索引的名称。· Seq_in_index索引中的列序列号,从1开始。转载 2014-05-29 18:26:51 · 440 阅读 · 0 评论 -
MySQL查看和修改表的存储引擎
1 查看系统支持的存储引擎show engines;2 查看表使用的存储引擎两种方法:a、show table status from db_name where name='table_name';b、show create table table_name;如果显示的格式不好看,可以用\g代替行尾分号有人说用第二种方法不准确,我试了下,关闭掉原先默认的Inn转载 2014-05-29 18:21:18 · 448 阅读 · 0 评论 -
mysqldump 多个表导出
sqlyog导出多个表,再倒入数据的时候报错,主键duplicate 查看,主键只有一条。估计工具有问题,用dump 多个表,只导出数据mysqldump -uxx -pxx -t -single-TRANSACTION --FLUSH-LOGS --MASTER-DATA=2 dbname table1 table2 table3 .... > d转载 2014-05-30 10:33:02 · 1689 阅读 · 0 评论 -
MySQL select into 和 SQL select into
现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去,虽然可以用以下语句进行复制,总觉得不爽,希望各位帮助下我,谢谢。 answer 01: create table dust select * from student;//用于复制前未创建新表dust的情况下 answer 02: insert into dust select * from stud转载 2014-05-30 10:38:19 · 517 阅读 · 0 评论 -
mysql decimal、numeric数据类型
可能做程序的人都知道,float类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理。这样我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实际存储是0,同样我存取货币为12.00,实际存储是12.幸好mysql提供了两个数据类型:numeric和decimal,这两种数据类型可以轻松解决上面的问题:NUMERIC转载 2014-05-29 17:55:40 · 1840 阅读 · 0 评论 -
Mysql导出表结构及表数据 mysqldump用法
命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql) mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2、导出數據库為dbname某张表(test)转载 2014-05-30 10:54:15 · 509 阅读 · 0 评论 -
PowerDesigner导出数据库表结构说明
如果需要导出WORD形式的数据库表结构说明,可以通过PowerDesigner非常方便d原创 2014-11-12 11:40:09 · 5907 阅读 · 0 评论 -
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2013-11-11 11:47:10 · 415 阅读 · 0 评论 -
mysql的bigint类型与php的mysql_insert_id函数造成的bug
discuz做二次开发,有个bug让我头疼了2天。由于数据的需要把post表中的pid改为bigint(20)可是用$db->insert_id()取出来的不是刚刚插入的pid值,导致附件找不到对应的帖子 找了2天原因,后来在php手册看到: mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 l转载 2013-11-11 11:45:06 · 1799 阅读 · 0 评论 -
MySql实现远程连接
1、进入mysql,创建一个新用户root,密码为root:格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root";原先数据表结构mysql> use mysq转载 2012-07-04 15:02:07 · 345 阅读 · 0 评论 -
MySQL select into和SQL select into
一.MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下:方法1:MYSQL不支持: Select * Into new_table_name from old_table_name;替代方法:Create table new_table_name (Select * from old_ta转载 2012-07-04 18:55:44 · 694 阅读 · 0 评论 -
mysqld与mysqld_safe的区别
直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。它通常做如下事情:1. 检转载 2012-07-04 15:01:26 · 473 阅读 · 0 评论 -
Mysql字段操作—增加字段、删除字段、修改字段名、修改字段类型(约束条件)
1.增加字段:alter table tablename add new_field_id type not null default '0'; 例: alter table mmanapp_mmanmedia add appid_id integer not null default 372; 增加主键:altertable tabelnameadd new_field_转载 2012-08-30 14:11:08 · 2627 阅读 · 0 评论 -
MySQL中INSERT INTO SELECT的使用
1. 语法介绍有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2)SELECT field1,field2 FROM db2_name上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,可以先将需要查询的字段JOIN起转载 2012-08-30 15:12:35 · 517 阅读 · 0 评论 -
mysql 基本操作
修复表当mysql服务在运行时,也可以用mysql内建命令mysqlcheck来修复。语法:mysqlcheck -r 数据库名 表名 -uuser -ppass%mysqlcheck -r sports_results mytable -uuser -ppasssports_results.mytable OK利用mysqlcheck可以一次性修复多个表。只要在数据库名后列出转载 2012-09-19 15:52:03 · 246 阅读 · 0 评论 -
PowerDesigner导出表到word
一、模版修改在导出表时,powerdesigner默认为我们提供了很多的模版,在工具栏中选择【Report--->Report Template】即可看到所有的默认模版。如图一:图一 模版列表这里我们为了导出powerdesigner中创建的表,在工具栏中选择【Report--->Reports】(快捷键Ctrl+E),然后创建一个New Report,如下图二所以转载 2013-05-23 11:27:43 · 416 阅读 · 0 评论 -
mysql中text,longtext,mediumtext字段类型的意思,以及区别
MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。 由MySQL支持的列类型列在下面。下列代码字母用于描述中:M 指出最大的显示尺寸。最大转载 2013-07-30 17:50:58 · 1430 阅读 · 0 评论 -
Mysql中文乱码问题完美解决方案
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:CREATE D转载 2013-07-31 11:41:09 · 357 阅读 · 0 评论 -
mysql CASE WHEN的基础和多种用法
CASE计算条件列表并返回多个可能结果表达式之一。CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。语法简单 CASE 函数:CASE input_expression WHEN when_express转载 2013-08-21 10:47:03 · 1316 阅读 · 0 评论 -
转mysql CASE WHEN的基础和多种用法
CASE计算条件列表并返回多个可能结果表达式之一。CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。语法简单 CASE 函数:CASE input_expression WHEN when_express转载 2013-11-05 17:31:40 · 360 阅读 · 0 评论 -
事务处理
MySQL5.X都已经发布好久了,但是还有很多人认为MySQL是不支持事务处理的,这不得不怪他们是孤陋寡闻的,其实,只要你的MySQL版本支持BDB或InnoDB表类型,那么你的MySQL就具有事务处理的能力。这里面,又以InnoDB表类型用的最多,虽然后来发生了诸如Oracle收购InnoDB等令MySQL不爽的事情,但那些商业上的斗争与技术无关,下面以InnoDB表类型为例简单说一下MySQL转载 2013-11-11 11:37:34 · 443 阅读 · 0 评论 -
MySQL行锁深入研究
做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为Select restnum from book where id =1 ; -- 如果 restnum 大于 0 ,执行 update Update book set rest转载 2013-11-11 11:38:09 · 521 阅读 · 0 评论 -
表锁,行锁区别
在调用存储过程中,就会涉及到表锁,行锁这一概念:所谓区别:有索引的时候就是行锁,没有索引的时候就是表索。 innodb 的行锁是在有索引的情况下,没有索引的表是锁定全表的.表锁演示(无索引)Session1:mysql> set autocommit=0;mysql> select * from innodb_test;+------+-------------+|转载 2013-11-11 11:43:03 · 6505 阅读 · 0 评论 -
php数据入库前清理 注意php intval与mysql int 类型区别
php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的int类型一样吗? 查了一下,不一样…… http://php.net/manual/en/function.intval.phphttp://dev.mysql.com/doc/refman/5.转载 2013-11-11 11:43:48 · 1178 阅读 · 0 评论 -
php 5.3.10 + CI3 PDO注入测试
基于这两篇文章在php 5.3.10 + CI3 环境下测试的结果http://zhangxugg-163-com.iteye.com/blog/1835721http://my.oschina.net/zxu/blog/163135db编码db连接编码db查询编码PDO::ATTR_EMULATE_PREPARES是否注入日志原创 2016-06-20 18:42:09 · 1018 阅读 · 0 评论