Welcome 微信登录

首页 / 数据库 / MySQL

解析mysql中的auto_increment的问题

解析mysql中的auto_increment的问题

今儿在逛论坛时,发现一个看似很简单的问题,却引起了大家的广泛关注:这是一道很早的面试题:一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 。答案:如果表的类型是MyISAM,那么是18。 因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。 如果表的类型是InnoDB,那么是15。 InnoD...
jdbc操作数据库的基本流程详解

jdbc操作数据库的基本流程详解

所有的JDBC应用程序都具有下面的基本流程: 1、加载数据库驱动并建立到数据库的连接。 2、执行SQL语句。 3、处理结果。 4、从数据库断开连接释放资源。下面我们就来仔细看一看每一个步骤:其实按照上面所说每个阶段都可得单独拿出来写成一个独立的类方法文件。共别的应用来调用。1、加载数据库驱动并建立到数据库的连接:复制代码 代码如下:String driverName="com.mysql.jdbc.Driver";String connectiio...
centos下安装mysql服务器的方法

centos下安装mysql服务器的方法

项目需要就在现有的服务器上面重新安装了个mysql服务器,还挺费劲儿呢,因为之前都是在我的笔记本上面试验的,它的系统是Ubuntu的,什么路径啊,启动方式啊。都不一样所以这次还是让我纠结了一把:下面把我安装过程中遇到的问题给传上来,首先rpm格式安装就不多说了,主要是mysql的配置文件在:/etc/my.cnf这里,需要修改:复制代码 代码如下:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mys...
解析MySQL创建外键关联错误 - errno:150

解析MySQL创建外键关联错误 - errno:150

当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的。像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这似乎又是一种误导。 在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上...
解析Mysql Profiling的使用

解析Mysql Profiling的使用

profiling是个很好用的mysql性能分析工具,今儿就来试验下profiling的功能。感谢 有爱玫瑰的博文:mysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况。分析器可以更好的展示出不良 SQL 的性能问题所在。下面我们举例介绍一下MySQL SQL Profiler的使用方法:首先,开启 MySQL SQL Profiler复制代码 代码如下:mysql> SELECT @@profiling; +...
mysql之set与enum的介绍

mysql之set与enum的介绍

set,enum的数据类型都是字符串类型的对象,其中set最多可以包含64个元素,并且可以任意取到集合中的元素。而enum则是只能取到集合中的木一个元素,最多包含65536个元素,也就是说set是多项选择,enum是单项选择了。这里我们来比较下他们之间相同点和不同点:复制代码 代码如下:mysql> create table db_set( -> set1 set("x","y","z") not null, -> enum1 enum(...
memcached的学习过程

memcached的学习过程

前段时间,我们实验室的师姐过来给我们来讲了现在公司所有到的新技术---------memcached,感觉很强大本来下来就要按着师姐的例子给走一遍呢,结果杂事太多给耽搁了。上次新浪网院的老师上课是也讲到了这个memcached,说是现在新浪微博就是用到了大量的memcached这种缓存机制。所以下定决心一定要尝试下这个memcached的威力有多大。先是上官网上下一个源码安装包来,可是这里memcached的正常运行需要又libevent来进行网络并发链接...
解析MySQL设置当前时间为默认值的方法

解析MySQL设置当前时间为默认值的方法

MySQL设置当前时间为默认值的问题我们经常会遇到,下面就为您介绍MySQL设置当前时间为默认值的实现全步骤,希望对您能有所启迪。数据库:test_db1创建表:test_ta1两个字段:id (自增 且为主键),createtime 创建日期(默认值为当前时间)方法一、是用alert table语句:复制代码 代码如下:usetest_db1; createtabletest_ta1( idmediumint(8)unsignednotnulllauto...
解析MySQL中mysqldump工具的基本用法

解析MySQL中mysqldump工具的基本用法

导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个...
深入mysql并发插入优化详解

深入mysql并发插入优化详解

使用storm处理日志的时候,经常会遇到并发插入mysql的效率问题,到网上查了些资料,做一下笔记将表的引擎改为 myisam,修改 my.cnf 的concurrent_insert=2,concurrent_insert 可以设的值有 0 1 2 ,2 是完全支持并发插入1) concurrent _insert =0 ,无论MyISAM的表数据文件中间是否存在因为删除而留下俄空闲空间,都不允许concurrent insert。2)concurren...
解析优化MySQL插入方法的五个妙招

解析优化MySQL插入方法的五个妙招

工作中遇到大概20万的数据插入操作,程序编完后发现运行超时,修改PHP最大执行时间到600,还是超时,检查超时前插入的数据条数推算一下,大概要处理40~60分钟才能插入完成,看来程序写的效率太低,得优化了。测试电脑配置:CPU:AMD Sempron(tm) Processor内存:1.5G语句如下:复制代码 代码如下:$sql = "insert into `test` (`test`) values ("$content")";for ($i=1;$i...
Java实现获得MySQL数据库中所有表的记录总数可行方法

Java实现获得MySQL数据库中所有表的记录总数可行方法

在MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录。如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题。1. 首先确定数据库中有多少个表,然后对每个表执行SELECT COUNT(*) FROM table_name 复制代码 代码如下: import java.sql.Connection; import java.sql.DriverManager;...
<< 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 >>