文章投稿  

板块  /  编程  /  数据库

数据库相关技术记录、分享 ~


最新文章

  • Mysql执行查询的原理【转载】

    Mysql执行查询的原理【转载】

    可以用一张网上找的图片来描述:从图中可以看出基本步骤为:1、客户端发送一条查询给服务器。2、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3、服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4、MySql根据优化器生成的执行计划,调用存储引擎的API执行查询。5、返回结果给客户端。MySQL客户端/服务器通信协议MySQL客户端和服务器之间的通信......

    Nemo Nemo 2018.01.16 14:56 1391浏览 0回复

    阅读更多
  • MySQL索引背后的数据结构及算法原理【转载】

    最近在研究索引的算法以及数据结构一类的东西。看完这篇文章后,收获颇多。另外推荐下CodingLabs这个博客,在看了这篇文章后,我陆陆续续浏览了上面的一些其他文章,干货不少,而且作者本身也非常牛逼~原文地址:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题......

    Nemo Nemo 2018.01.11 14:34 4119浏览 0回复

    阅读更多
  • 基于XML - 简单模仿mongodb实现一个数据库

    基于XML - 简单模仿mongodb实现一个数据库

    源码寄存在GitHub仓库,地址为:https://github.com/geeeeeeeeeeeeeeeek/NemoMiniDb-XML这是一个简单模仿mongodb的数据库程序,底层数据存储的是XML文件,而不是JSON。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这

    Nemo Nemo 2018.01.11 14:08 2996浏览 0回复

    阅读更多
  • 简单模仿mongodb实现一个数据库

    简单模仿mongodb实现一个数据库

    源码寄存在GitHub,地址是:https://github.com/geeeeeeeeeeeeeeeek/NemoMiniDb这是一个简单模仿mongodb的数据库程序。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这样了。详细说明待添加,先占个位置,待续...

    Nemo Nemo 2018.01.10 18:57 3221浏览 0回复

    阅读更多
  • Mysql 基础架构分析

    Mysql 基础架构分析

    MySQL从概念上可以分为四层。从上到下分别为:接入层、服务层、存储引擎层、系统文件层。接入层:不同语言的客户端通过mysql的协议与mysql服务器进行连接通信,接入层进行权限验证、连接池管理、线程管理等。服务层:包括sql解析器、sql优化器、数据缓冲、缓存等。存储引擎层:mysql中存储引擎是基于表的。系统文件层:保存数据、索引、日志等。贴个图:

    Nemo Nemo 2017.12.25 16:56 4386浏览 0回复

    阅读更多
  • 一些关于数据库事务的基本原则总结

    事务:事务是一组原子性sql查询语句,被当作一个工作单元。若mysql对改事务单元内的所有sql语句都正常的执行完,则事务操作视为成功,所有的sql语句才对数据生效,若sql中任意不能执行或出错则事务操作失败,所有对数据的操作则无效(通过回滚恢复数据)。事务有四个属性:1、原子性:事务被认为不可分的一个工作单元,要么全部正常执行,要么全部不执行。2、一致性:事务操作对数据库总是从一种一致性的状态转......

    Nemo Nemo 2017.12.25 16:40 3344浏览 4回复

    阅读更多
  • 分布式数据库架构--分库、分表、排序、分页、分组、实现 (转载)

    MySQL分库分表总结:单库单表:单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表:随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql,还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间......

    Nemo Nemo 2017.12.12 14:23 4560浏览 0回复

    阅读更多
  • MySQL字符集

    utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。utf8_general_ci校对速度快,但准确度稍差。utf8_unicode_ci准确度高,但校对速度稍慢。如果应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了,到现在也没发现问题。。。1、对于一种语言仅当使用utf8_unicode_ci排......

    Nemo Nemo 2017.11.07 14:15 1280浏览 0回复

    阅读更多
  • MySQL CHAR VARCHAR 字段长度

    参见https://dev.mysql.com/doc/refman/5.6/en/char.html以上是针对MySQL5.6版本,不保证之前的版本也有同样的行为。总结一下:建表时定义的CHAR(n)和VARCHAR(n)是指定该字段能储存的最大字符(而不是字节)。既然是字符,当然不同字符集会占用不同的存储空间,如果是字符集是latin1,1个字符对应1个字节,如果字符集是utf8,则一个字符对......

    Nemo Nemo 2017.11.07 14:12 3352浏览 0回复

    阅读更多
  • mysql 之 in 和exists区别

    问题:前段时间,一朋友面试的时候,问到sql优化时,说sql查询效率exists大于in,果真如此?准备新建users/*用户表*/droptableifexistsusers;createtableusers(idintprimarykeyauto_increment,namevarchar(20));insertintousers(name)values('A');insertintouser......

    CODY CODY 2017.09.21 18:08 1459浏览 2回复

    阅读更多
  • MySQL INSERT插入条件判断:如果不存在则插入

    普通的INSERTINTO插入:INSERT INTO card(cardno, cardnum) VALUES('1111', '100');INSERT INTO card(cardno, cardnum) VALUES('2222', '200');...对于普通的INSERT插入,如果想要保......

    Nemo Nemo 2017.09.12 16:00 3684浏览 0回复

    阅读更多
  • MAC下重置mysql密码

    是的,我忘记了mysql的密码。。。关闭mysql服务器,也可以在系统偏好里有个MySQL里关闭。sudo/usr/local/mysql/support-files/mysql.serverstop进入目录cd/usr/local/mysql/bin获取权限sudosu重启服务器./mysqld_safe--skip-grant-tables&重开个终端,配置短命令:aliasmysql......

    Nemo Nemo 2017.09.11 22:09 1015浏览 0回复

    阅读更多
  • SQL 使用like '%ABC' 和 like '%ABC%'的优化

    SQL 使用like '%ABC' 和 like '%ABC%'的优化 SQL 使用like '%ABC' 和 like '%ABC%'的优化

    一般情况下,sql中使用col_namelike'ABC%‘的情况才能使用到col_name字段上的索引,这种情况不再赘述。如果是col_namelike'%ABC%'的情况,能否使用索引,怎样才能使用索引?答案是:可以使用索引,但是需要改写SQL并创建reverse函数索引。一、col_namelike'%ABC'时的优化方法Testcase:    Cr......

    Nemo Nemo 2017.06.07 09:56 2521浏览 0回复

    阅读更多
  • SQL查询优化记录

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:selectidfromtwherenum=03.应尽量避免在wher......

    Nemo Nemo 2017.06.07 09:46 4564浏览 0回复

    阅读更多
  • 数据库事务设计相关

    1,保持事务短小2,尽量避免事务中rollback3,尽量避免savepoint4,默认情况下,依赖于悲观锁5,为吞吐量要求苛刻的事务考虑乐观锁6,显示声明打开事务7,锁的行越少越好,锁的时间越短越好STARTTRANSACTION:开始事务,autocommit设为0,如果已经有一个事务在运行,则会触发一个隐藏的COMMITCOMMIT:提交事务,保存更改,释放锁ROLLBACK:回滚本事务对数......

    Nemo Nemo 2017.05.26 10:44 2302浏览 0回复

    阅读更多
首页  上一页  1  2  3  4  下一页 
2024.05.20
签到
已有9位小伙伴签到
今日文章:0
文章总数:54

本版TOP用户

Nemo Ideamagic LEEYANGY 随遇而安 CODY