mysql
文章平均质量分 56
Rookie__Li
这个作者很懒,什么都没留下…
展开
-
mysql大数据量表的处理方法(拆表,分区)
在我们正常开发中基本都会遇到一个表中已有大量数据,比如达到了两三G,几千万条数据,这时候对于这种表的维护就相对困难,查询效率上也比较低;处理这样的表一般有2种做法,一是分表,二是分区;分表:一般分为有规律分表,或者无规律的(也可以说是有周期的活着没周期的),有规律的可以按年月日来分,无规律的可以按主键id分,比如对userId做一个取余操作,对userId进行拆分,可以拆分为N原创 2013-10-30 15:46:48 · 5007 阅读 · 0 评论 -
SELECT FOR UPDATE(转)
MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE这两种方式在事务(Transac转载 2014-04-01 13:46:19 · 855 阅读 · 0 评论 -
sql中exists,in,=的区别
NOT INSELECT DISTINCT MD001 FROM BOMMD WHERE MD001 NOT IN (SELECT MC001 FROM BOMMC)NOT EXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度select DISTINCT MD001 from BOMMD WHERE NOT EXISTS转载 2014-01-13 10:38:31 · 693 阅读 · 0 评论 -
mysql不支持select into解决
mysql不支持select into解决 替代方案?12345678910111213141516insert into newTableName(column1,column2) select* from oldTableName INSERT INTO转载 2013-12-26 09:54:25 · 1107 阅读 · 0 评论 -
mysql中文排序问题
中文排序问题 最近做项目时发现mysql查询结果为中文时,按照中文排序时会出现不符合字典顺序的情况在数据库之中添加了五条记录,实际的排序应该为[你, 他, 它, 她, 我],但mysql查询结果却是[他, 你, 她, 它, 我]排序不符合字典顺序。后来在Java之中发现List list = Arrays.asList("他", "她", "转载 2013-12-26 12:12:36 · 1378 阅读 · 0 评论 -
select into from与insert into select区别详解
首先,我们来看一下insert into select语句,其语法形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1。这里的要求就是Table2必须已经存在,如果不存在,系统则会提示对象无效。同时因为Table2已经存在,所以我们转载 2013-12-26 09:51:40 · 625 阅读 · 0 评论 -
mysql获取表中字段名
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name' and table_schema = 'your_db_name';备注:个人记录仅供参考;原创 2013-12-11 16:22:09 · 612 阅读 · 0 评论 -
mysql 行转列
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key,转载 2013-12-11 10:20:11 · 556 阅读 · 0 评论 -
MySQL日期时间函数大全
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WE转载 2013-11-14 17:16:51 · 741 阅读 · 0 评论 -
mysql的时间处理:datediff/date/dayname/dayofweek
mysql的时间处理:datediff/date/dayname/dayofweekdate(now())从当前时间起七天之内的时间限制语句。采用下一句更好:datediff(endtime,now())>=0 and datediff(endtime,now())dayname与dayofweek的区别:转载 2013-11-14 17:13:47 · 1429 阅读 · 0 评论 -
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2013-11-05 15:24:46 · 654 阅读 · 0 评论 -
MySQL索引的查看创建和删除
MySQL索引的查看创建和删除1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~1000的数值,查找对应值相等行的查询如下所示。转载 2013-11-05 15:33:27 · 570 阅读 · 0 评论 -
Mysql常用函数
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn) 返转载 2013-11-18 16:24:06 · 688 阅读 · 0 评论 -
mysql insert if not exists防止插入重复记录的方法
问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢? 答案:可以通过使用 EXISTS 条件句防止插入重复记录。 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:INSERT INTO clients(client_id, client_name,转载 2013-11-19 10:33:13 · 1644 阅读 · 0 评论 -
Mysql字符串截取函数SUBSTRING的用法说明
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。 函数: 1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2、从右开始截取字符串 ri转载 2013-11-15 11:26:24 · 592 阅读 · 0 评论 -
Mysql SQL CAST()函数
(1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是整型值12。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢? SELECT CAST('12.5' AS int) (3).CAST()函数和CONVE转载 2013-11-15 10:20:29 · 1267 阅读 · 0 评论 -
mysql将毫秒数转成某种格式的时间
FROM_UNIXTIME(r.tr_end_time,'%Y-%m-%d %h:%i:%s')原创 2014-06-27 14:08:47 · 710 阅读 · 0 评论