技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  数据库

性能相差极大的SQL语句
摘要:等价的SQL,性能差异极大,数据库里设计了一个字段存储日期时间,但不是datetime类型,用了时间戳(int 11), 下面有2个SQL语句用于查询数据库,一个是把时间戳转成date进行查询,一个是把日期转成时间戳,直接用时间戳进行比对,虽然没有统计差多少,但从直觉上发现至少能差10倍以上-- 性能较差的SQL,把数据库的时间戳转成datetime,用字符串比对select bid,price,platform from bc_user_charged_list_wap_merge where from_unixtime(charged_time) like '20140116%&# 阅读全文

posted @ 2014-01-17 15:00 codestyle 阅读(330) 评论(0) 推荐(0) 编辑

ON DUPLICATE KEY UPDATE
摘要:http://blog.csdn.net/kesaihao862/article/details/6718443MySQL 当记录不存在时插入,当记录存在时更新MySQL当记录不存在时插入,当记录存在时更新网上基本有三种解决方法。第一种:示例一:插入多条记录假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:INSERTINTOclients(client_id,client_name,client_type)SELECTsupplier_id,supplier_name,'advertising'FROMsuppliersWHEREnotexis 阅读全文

posted @ 2013-08-22 14:25 codestyle 阅读(238) 评论(0) 推荐(0) 编辑

小SQL大作用
摘要:从DBA那问来的,备份现有数据库表:create table B select * from A ;删除,重建数据库主键alter table book_order drop primary key; alter table book_order add primary key(bookid,platform,stat_date);根据小时分组数据select date_format(inserttime,'%Y-%m-%d %H'),count(userid), count(distinct userid) from pppay_order_alipay where stat 阅读全文

posted @ 2013-07-17 13:19 codestyle 阅读(344) 评论(0) 推荐(0) 编辑

使用source命令向数据库写入数据中文乱码的解决方案
摘要:导入sql脚本文件前,先确保该脚本文件及内容格式为UTF-8编码格式,同以上方法登入mysql命令行,use 库名 进入相应数据库set names utf8;source initialize.sql;如果不设置names,即使建库时把数据库设置为utf8,在以后的读写操作时仍然会发生问题!!!mysql编码设置MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小mysql> SHOW VARIABLES LIKE 'character_set_%';+--------------------------+-------------- 阅读全文

posted @ 2012-08-16 20:58 codestyle 阅读(1275) 评论(1) 推荐(1) 编辑

MYSQL数据库分页
摘要:select * from TableName limit PageSize * PageNo , PageSize #MYSQL数据库分页,可自动计算删记录的情况#PageSize * PageNo指的是偏离记录集第一条记录的记录数好吧,我要承认,这是从一场并不愉快的争论里发现的,结果是,我是错的,MYSQL里可以通过这样的SQL语句简单的实现分页,我对limit的理解是等价于top,然而top的用法只能指定一个数,它是从记录集里取N条记录,从语义上讲并不能帮助构建记录集。而MYSQL的limit语义上讲,limit直接参与了记录集的构建最后:知之为知之,不知为不知,是知也 阅读全文

posted @ 2012-07-26 09:49 codestyle 阅读(194) 评论(0) 推荐(0) 编辑

MySQL的datetime类型在web端生成javascript的Date对象
摘要:服务端读取Comment表并将结果集返回给调用者,调用者使用json.dumps将结果集转成json字符串列表返回给WEB前端。datetime字段dumps之后变成描述日期的字符串,例如'2012-4-1 12:31:01' JS无法操作这个日期,例如在该时间的基础上加减N天或者N个小时,再比如对两个时间进行比较。找出较早的时间,所以服务端先把datetime转成bigint,再传给客户端(如果是日期是MYSQL的timestamp类型就不需要转换,因为timestamp就是bigint)#webpy框架import web,time,datetimedef getList( 阅读全文

posted @ 2012-04-03 18:00 codestyle 阅读(1829) 评论(0) 推荐(0) 编辑

数据库事务级别
摘要:http://blog.163.com/taodengwen@126/blog/static/87199341201110295352451/SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。ReadUncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(DirtyRead),如将MySQL调整到 这个级别,hibernate只要执行flush数据 阅读全文

posted @ 2012-03-19 18:44 codestyle 阅读(260) 评论(0) 推荐(0) 编辑

【MySQL】Innodb事务隔离级别(转)
摘要:原文地址http://www.cnblogs.com/zhizhesky/articles/2160873.html一、事务隔离级别ANSI/ISO SQL标准定义了4中事务隔离级别:未提交读(read uncommitted),提交读(read committed),重复读(repeatable read),串行读(serializable)。对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。2、非重复读(nonrepeatable read):在同一个事务中,同 阅读全文

posted @ 2012-03-19 18:39 codestyle 阅读(358) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示