数据库
藏红
不要担心自己走错路误了终身,坚持并保持进步才是正道。
展开
-
SQL使用了索引,为什么还是很慢
数据库的查询性能一直是性能优化的重灾区。近期看了丁奇老师的分享“为什么SQL语言使用了索引,但却还是慢查询?”,收获颇丰,以此做个记录0 准备创建一张测试表,设置主键索引(id)和普通索引(a) ,如下:CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT N...原创 2019-11-22 20:51:31 · 2975 阅读 · 0 评论 -
SQL 大数据查询如何进行优化?
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:引。 select id from t where num is null可以在num上设置默认值0,确保转载 2015-07-16 16:26:22 · 673 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
转自:http://blog.jobbole.com/24006/摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的转载 2015-07-20 21:40:09 · 575 阅读 · 0 评论 -
Mac下使用mysql
在Mac系统下安装mysql 5.6 在使用过程中,出现 mysql: command not found和 mysql Access denied for user root@localhost,中文乱码等错误,一步步解决,最后成功使用,希望对大家有帮助原创 2015-04-22 11:47:17 · 863 阅读 · 0 评论 -
数据库事务深入学习
数据库隔离级别原创 2015-03-23 16:24:49 · 499 阅读 · 0 评论 -
数据库锁
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:--------转载 2015-07-16 19:46:43 · 443 阅读 · 0 评论 -
MongoDB入门(1)--搭建并连接服务器
几个重要的网站MongoDB官网: www.mongodb.orgMongoDB国内官方网站: www.mongoing.com中文MongoDB文档地址: docs.mongoing.comMongoDB的特点没有表结构的概念,每条记录可以有完全不同的结构业务开发方便快捷sql数据库需要事先定义表结构再使用{name:”小明”,sex:”男 ”} {name:”小红”,address原创 2017-05-03 19:14:56 · 690 阅读 · 0 评论 -
MongoDB入门(2)--增删改查
使用MongoDB的增删查改查看数据库 show dbs切换数据库 use local删除数据库 db.dropDatabase()数据写入 db.test_table.insert({x:1})查看数据表 show collections查询数据 db.test_table.find()db.test_table.find({x:1})插入多条数据 for(i=3原创 2017-05-03 19:20:07 · 702 阅读 · 0 评论 -
MongoDB入门(3)--MongoDB的索引
MongoDB的索引查看索引 db.test_table.getIndexes()创建索引(1表示升序,-1表示降序) db.test_table.ensureIndex({x:1})索引的种类_id索引_id索引是绝大多数集合默认建立的索引,对于每个插入数据MongoDB都会自动生成一条唯一的_id字段单键索引单键是最普通的索引db.test_table.ensureIndex({x原创 2017-05-04 21:53:31 · 725 阅读 · 0 评论 -
Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1出现这个错误的原因是,数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中。一开始修改 修改数据库的编码alter table score default character set utf8;但是插入中文原创 2014-11-21 20:53:02 · 245711 阅读 · 43 评论 -
使用结果集(ResultSet.absolute((2000)) )和 sql(top)分页的性能对比
sp页面两种分页模式: 第一种: 结果集分页,主要代码见下面: ResultSet rs=stmt.executeQuery(sql); ResultSetMetaData md=rs.getMetaData(); rs.beforeFirst(); rs.absolute((2000); } int ii=0; while(r转载 2015-01-25 14:14:27 · 1918 阅读 · 0 评论 -
sql 复制表结构和复制整个表数据
1. 复制表结构及其数据:create table table_name_new as select * from table_name_old 2. 只复制表结构:create table table_name_new as select * from table_name_old where 1=2;或者:create table table_n转载 2015-01-25 14:34:07 · 12636 阅读 · 0 评论 -
Can't start a cloned connection while in manual transaction mode 解决
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown转载 2015-01-25 14:31:04 · 858 阅读 · 0 评论 -
servlet 向mysql 插入中文,在mysql 查询时发现中文是乱码
数据库连接串中指定编码 url ="jdbc:mysql://localhost:3306/dlmp?useUnicode=true&characterEncoding=utf-8"; 将mysql 的客户端查询结果集设置编码 set character_set_results=utf8原创 2014-12-25 12:53:59 · 1033 阅读 · 0 评论 -
Mac系统下 修改mysql的最大连接数
前往文件夹/usr/local/mysql/support-files/拷贝my-medim.cnf 文件,到/etc/ 下并且 修改名字为my.cnf打开后my.cnf[mysqld]下加入以下语句max_connections=2422打开 myslq 客户端show variables like '%max_connection%';修改原创 2014-11-25 23:08:50 · 4298 阅读 · 0 评论 -
sql server2008 用户登录失败 错误18457 解决
sql server2008 用户登录失败 错误18457 解决原创 2015-02-04 18:08:46 · 2307 阅读 · 0 评论 -
mysql配置文件——常用参数说明
innodb_buffer_pool_size 非常重要的一个参数,用于配置Innodb的缓冲池如果数据库中只有Innodb表,则推荐配置量的总内部为75% innodb_buffer_pool_instances 5.5之后有 控制缓冲池的个数,默认情况下只有一个缓冲池 innodb_log_buffer_size innodb log缓冲的大小,由翻译 2014-12-25 11:24:10 · 714 阅读 · 0 评论 -
mysql 使用 distinct关键字有多个字段时不起作用
select distinct name from table得到的结果是: name a b c转载 2014-11-14 12:03:32 · 7414 阅读 · 1 评论 -
修改mysql 表的字符编码
在select进行中文查询的时候报了如下的错误ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='查看一下表的编码show create table t_user_friend;发现其是l转载 2015-07-06 20:06:31 · 806 阅读 · 0 评论 -
数据库范式
第一范:表数据的单一性第二范:表必须要有主键第三范:表引用其他表时必须通过主外键引用参考:http://zhidao.baidu.com/link?url=ySY9IgtQdBojSpgYVB9MHor0L9S32BpCjk8UXfdWD-paB5xZd2KhTEDteIIBHvyTRvMZ2G5Q-oxxo3AggjDhHa转载 2015-01-18 20:26:40 · 594 阅读 · 0 评论