您现在的位置:首页
--> MySQL
最开始使用SQLServer,我喜欢这么用SQL:select * from table1 where id in (select table1_id from table2 where table2_filed = xxxx) and table1_field = yyy; 这里的一个查询其实会分为两个查询,对table1和对table2的子查询,这样写能让每个查询都尽量使用索引。 曾几何时,使用mysql的时候用explain分析查询,发现mysql里面的子查询很慢,而mysql文档里很多时候也推荐使用join,于是我认定了mysql的子查询实现的很烂,...
可用mysql基本连接,自己封装成类。特别是开源程序,因为不确定服务器是否可以支持mysqli,应使用mysql基本连接。
特定的项目,有自己的服务器,可以自行安装mysqli扩展,推荐使用mysqli。
mysqli在5.3.0时加上了持久连接。
MySQL 内部函数的使用
听说mysql proxy 0.7.0即将发布,正好前些日子从bzr上获取mysql proxy的代码编译过,看看当时bzr的版本号,和现在也差不了多少。在这期间,我又花了一些时间把mysql配置成读写分离,出了不少妖蛾子,由于使用的人不太多,解决问题超费劲――搜索不到有帮助的内容啊。但是我可能是比较幸运的,最后成功的实现了读写分离,目前在开发环境运行的比较稳定,所以有必要做个笔记分享一下。
mysql proxy的代码树已经迁移到lauchpad,采用bazaar进行版本管理。参考了一些文档,在centos 5.2下编译安装最新mysql proxy成功。
一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。 MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通过观察MySQL的运行情况来进行分析,《查看MySQL运行状况》这篇文章罗列了一些常用的查看MySQL运行信息的方式。而对于大多数的程序员来说,最容易发现并解决的问题就是MySQL的慢查询或者没有利用索引的查询,所以这里主要给大家介绍如何利用官方的...
key_buffer_size - 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载。记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了。 .MYI 文件只有 1GB,而 key_buffer 却设置为 4GB 的情况是非常少的。这么做太浪费了。如果你很少使用MyISAM...
对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。 对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。
一个字段i,如果是unsigned int,值为0 执行 UPDATE t SET i= i ,4.1中结果为0,5.0.13以后为该字段允许的最大整型
在目前的项目中,因为涉及到一些较复杂的统计功能,我在某个表中添加了三个字段:nums1,nums2,nums3这三个字段分别为table1,table2,table3中相关的有效记录行数。添加这三个字段的原因如下:原因1: 在页面显示中,如果没有这三个字段,单纯靠sql来生成显示列表的话,需要关联三个表,这三个表都是记录较多的表,关联起来效率很低。原因2: 在网站的前台,有了这三个字段,可以减少对table1和table2,table3的select,提高效率。...
MySQL的性能优化文章有很多,这里介绍个通过优化Swap & Memory来提高性能的方法。 The VM for Linux prefers system cache over application memory. What does this mean? The best way I can explain is by example. Imagine you have 32 GB of RAM MySQL is set to take 20 GB of RAM for a process based buffer and up to 6M for the various thread buffers. Over a period [...]
【原创】MySQL介绍和性能优化 (PPT/PDF)
由于项目开发的需求,需要通过oracle访问mysql,必须配置“网关”,通过ODBC实现总结了一下从oracle访问mysql的步骤: 1.先简单介绍下环境操作系统:windows xp oracle:10.0.2.0.1 mysql:5.0 2.下载mysql的odbc驱动,我用的是myodbc 3.5.1并安装下载路径:http://dev.mysql.com/downloads/connector/odbc/3.51.html 3.配置odbc数据源,在控制面板中配置就可以了,使用系统DSN,取名为mysqltest 4.在E:\\oracle\\product\\10.2...
Infobright是一个列存数据仓库软件,可以与MySQL集成,作为MySQL的一个存储引擎来使用(后面将会看到这是个非同一般的存储引擎)。主要的技术优势有:1. 高压缩比,通常是10:1,某些应用可能达到40:12. 无需事先做好物理设计规则,不需要建索引,不需要数据分区,对ad-hoc分析型查询执行性能非常高3. 数据装载非常快这些技术优势是如何实现的呢,这两天看了Infobright的白皮书和VLDB论文,大概有所了解。
PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告,有很多亮点,本文是在原文基础上的进一步延伸。
续根据status信息对MySQL服务器进行优化(一),直入主题。
网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。 mysql> show global status; 可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: mysql> show variables;
MySQL支持全文索引和全文检索功能。 (详细的MySQL全文检索的介绍请见官方手册) 对于全文索引,MySQL会从 ft_stopword_file 变量指定的文件中读取不进行全文索引的过滤词表, 一行一个。若将该变量设置为空字符串(”)则禁用过滤词表。 此变量默认为built-in,即MySQL使用自建默认过滤词表,查看MySQL4到MySQL6的源码,不同版本的默认词表是一样的,共545个.
这篇文章介绍了MySQL查询优化器的部分内容。
这篇文章介绍了MySQL查询优化器的部分内容。
近3天十大热文
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [67] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [61] find命令的一点注意事项
- [61] android 开发入门
- [60] Go Reflect 性能
- [58] 流程管理与用户研究
- [57] 图书馆的世界纪录
- [56] 读书笔记-壹百度:百度十年千倍的29条法则
- [56] Oracle MTS模式下 进程地址与会话信
赞助商广告