Welcome 微信登录

首页 / 数据库 / MySQL

MySql修改数据库编码为UTF8避免造成乱码问题

MySql修改数据库编码为UTF8避免造成乱码问题

mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前编码: mysql> SHOW VARIA...
浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析

浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析

下面先让我们回答一些问题: ◆你的数据库有外键吗? ◆你需要事务支持吗? ◆你需要全文索引吗? ◆你经常使用什么样的查询模式? ◆你的数据有多大? 思考上面这些问题可以让你找到合适的方向,但那并不是绝对的。如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式。如果你需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,我们其实并不会经常地去测试两百万行记录。所以,就算是慢一点,我们可以通过使用Sphinx从InnoDB中...
批量清除128组节点db上面过期的binlog释放磁盘空间实现思路

批量清除128组节点db上面过期的binlog释放磁盘空间实现思路

如果10台以内的db的话,自己手动ssh进去,clean就足以,但是上百台呢,就要写脚本了。大概思路:在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binlog位置, 然后再远程去purge master上面的binlog.1, 建立slave dbserver列表 slavelist; 一个slave一行。 2,远程获取slave db上面的binlog位置以及slave的master主机名(也许是ip地址) ...
解析MYSQL显示表信息的方法

解析MYSQL显示表信息的方法

在用mysql时(show tables),有时候需要查看表和字段的相关信息(表与某字段是否存在等.)~~而PHP提供了这样的相关函数,如:mysql_list_dbs(),mysql_list_fields(),但mysql_list_fields() 函数等已过时,所以要用show...这个SQL指令来查寻。SHOW 指令(‘[..]"里的可选)#显示mysql中所有数据库的名称show databases;#显示mysql中的相关表show tabl...
探讨Mysql中OPTIMIZE TABLE的作用详解

探讨Mysql中OPTIMIZE TABLE的作用详解

当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删 除操作后在数据文件中留下碎片所致。Discuz! 在系统数设置界面提供了数据表优化的功能,可以去除删除操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作。您只要在做完批量删除,或定期(如 每一两个月)进行一次数据表优化操作即可。OPTIMIZE TABLE通过制作原来的表的一个临时副本来工作OPTIMIZE TABLE语法OPTIMIZE [LOCAL | NO_WRIT...
深入mysql慢查询设置的详解

深入mysql慢查询设置的详解

在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句!那么如何应用慢查询呢?1.开启MySQL的慢查询日志功能默认情况下,MySQL是不会记录超过一定执行时间的SQL语句的。要开启这个功能,我们需要修改MySQL的配...
如何使用索引提高查询速度

如何使用索引提高查询速度

使用索引提高查询速度1.前言在web开发中,页面模板,业务逻辑(包括缓存、连接池)和数据库这三个部分,数据库在其中负责执行SQL查询并返回查询结果,是影响网站速度最重要的性能瓶颈。本文主要针对MySql数据库,双十一的电商大战,引发了淘宝技术热议,而淘宝现在去IOE(I代表IBM的缩写,即去IBM的存储设备和小型机;O是代表Oracle的缩写,也即去Oracle数据库,采用MySQL和Hadoop替代的解决方案,;E是代表EMC2,即去EMC2的设备性,用...
深入MYSQL字符数字转换的详解

深入MYSQL字符数字转换的详解

1.将字符的数字转成数字,比如"0"转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,"0") 这样就会导致 a/b成了字符串,因此需要把"0"改成0,即可解决此困扰3.比较数字和varchar时,比如a=11,b="11ddddd";则 select 11="11ddddd"相等若...
用SQL实现统计报表中的"小计"与"合计"的方法详解

用SQL实现统计报表中的"小计"与"合计"的方法详解

客户提出需求,针对某一列分组加上小计,合计汇总。网上找了一些有关SQL加合计的语句。都不是很理想。决定自己动手写。思路有三个:1.很多用GROUPPING和ROLLUP来实现。 优点:实现代码简洁,要求对GROUPPING和ROLLUP很深的理解。 缺点:低版本的Sql Server不支持。2.游标实现。 优点:思路逻辑简洁。 缺点:复杂和低效。3.利用临时表。 优点:思路逻辑简洁,执行效率高。SQL实现简单。 缺点:数据量大时耗用内存.综合三种情况,决定...
如何在SQL Server中实现 Limit m,n 的功能

如何在SQL Server中实现 Limit m,n 的功能

在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,例如:复制代码 代码如下:select * from tablename limit m, n但是,在SQL Server中,不支持 Limit 语句。怎么办呢?解决方案:虽然SQL Server不支持 Limit ,但是它支持 TOP。我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据:复制代码 代码如下:select id ...
<< 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 >>