首页 >>  正文

mysql数据库索引有哪些

来源:baiyundou.net   日期:2024-09-22

整理 | 彭慧中 责编 | 何苗

出品 | CSDN(ID:CSDNnews)

目前,中国已经进入“人人都是开发者,家家都是数据公司”的新数据库时代。

6月29日,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛在腾讯云数据库CSDN能力认证的发布会上发表了《新数据库时代》主题演讲时分享道。他指出,在开源吞噬世界的背景下,数据库也在大力拥抱开源。不同于传统关系型数据库,新型数据库已成为行业风口,急需大量相关人才汇入,青年才俊应当抓住机遇,迎接挑战。

CSDN 创始人&董事长、极客帮创投创始合伙人 蒋涛

以下是蒋涛演讲实录:

大家好,我是CSDN创始人蒋涛。我是程序员出身,30年前数据库就是程序员的必备技能,而近几年,数据库又有了很大的发展。作为投资人,我也曾投资过巨杉数据库。

CSDN目前是中国知名的技术社区,据最新数据显示,CSDN的用户量已经超过3,600万,公司规模也在不断发展壮大。如今,开发者变得越来越重要,我们围绕着开发者建立了一系列业务支持体系,帮助开发者获得能力与成长。其中,不仅有协助开发的工具开发云(https://dev.csdn.net),还有帮助大家找到更好职业的人才云等。目前,开发者市场越来越好,相信“人人都是开发者,家家都是技术公司”的时代不久后就要到来。

在此背景下,中国想要构建自己的核心技术生态,数据库是其中关键。今天我将围绕三个部分分享《新数据库时代》:

第一是揭示「我们正在进入的数据大时代」现状;

第二是了解「开源正在吞噬数据库」的改变;

第三是把握「新型的数据库人才特别抢手」的趋势。

数据大时代

我们正处于大数据时代,几乎每家公司都在对自己的业务进行数字化变革。据统计,全球数据量每年持续增加,去年全球产生的数据总量是79ZB,2025年预计将达到180ZB。

由于云技术的发展,越来越多的数据都存储在云端。数据显示,在2016年只有10%的数据储存在云端的数据仓库里,但到了2022年,这个数字已经快速增长到了75%,这说明随着数字经济的发展,每家公司都将成为数据公司,数据库市场也迎来了爆炸性增长。

数据库市场历史其实非常悠久,从1964年,世界上第一个数据库系统IDS(Integrated Data Storage,集成数据存储)诞生开始,到今天数据库发展已经快60年。1980年代,数据库开始在中国生根发芽。直到现在,整个全球市场依然保持了20%以上的增长规模。尽管数据库是个古老的技术,但其中又蕴含了很多新的机会。

从数据库技术公司融资情况来看,数字非常惊人。过去10年,数据库公司融资总额87亿,其中一半是在过去两年内完成的。2021年,超级独角兽大数据公司Databricks两轮融资总额为26亿美元。如此看来,数据库技术也进入到了一个新时代。

开源吞噬数据库

那么数据库的技术进入到新时代的标志是什么?

即“开源吞噬数据库”。

开源已经成为所有开发者的必选项,据GitHub统计数据:2016年仅有80万人第一次做出开源代码贡献,而2021年,这个数字已经增长到300万。

在数据库领域中,开源的“吞噬”情况也十分明显。dbdb.io(卡内基梅隆大学维护的全球数据库信息库)分析了全球知名的841个数据库系统,其中开源数据库有608个,占比72%,只有200多家是商业数据库。在全球顶尖数据库排行榜中,开源数据库也占到一半。

在CSDN制作的2021 数据库全景图(V1.0)中,我们将不同领域的数据库按照开源和闭源两类进行颜色区分,右侧浅绿色的部分是开源数据库,左侧深绿色的部分是闭源数据库。可以很明显地看到开源在快速发展,且有吞噬闭源数据库的趋势。

来源:《新程序员 002》

中国数据库在发展核心技术生态的大背景下,也发展得非常的迅猛。dbdb.io(卡内基梅隆大学维护的全球数据库信息库)统计的全球800多家数据库企业中,中国有56家,但实际上中国数据库厂商有200多家。尤其在新型数据库上,中国企业“冒头”较多,例如现在发展势头强劲的TiDB,在GitHub上非常活跃。

当然,开发者目前使用较多的还是相对传统的基础关系型数据库MySQL,还有大数据领域Redis、Apache/Hive、MongoDB等相对比较传统的技术,但绝大部分都是开源的。尽管最普遍被使用的依然是关系型数据库,但新型数据库则代表了未来趋势。根据CSDN 2021-2022年数据库开发者大调查显示,在云趋势下,有52%的公司已经部署了云数据库,只有23%的公司尚未计划部署云数据库。

新型数据库人才抢手

对于目前的就业环境,我认为开发者应当好好学习数据库技术,并且不要局限于仅学习关系型数据库,更要学新型数据库。为什么呢?

新型数据库的技术栈跟过去大有不同,关系型数据库只是里面最基础的一环,而数据分析、数据仓库、可视化等很多新型技术栈在涌现。开源中比较热门的新数据库类型包括分布式数据库、时序数据库、图数据库、流式数据库等都在GitHub上排名非常靠前,Star数也非常高。

20年前,市面上只有关系型数据库,主要面向事务性的交易。而如今得益于云、微服务、分布式应用、全球规模、实时数据、深度学习等,新的数据库架构应运而生,以解决新的性能需求:快速读取和快速写入的不同系统;专门用于支持实时分析的系统;用于非结构化、半结构化、事务性、关系、图形或时间序列数据的系统;适用于缓存、搜索、基于索引、事件等的数据……据统计,一家企业平均在七个或更多不同的数据库中存储数据。

这些新技术带来了新机会,同时也加大了市场对人才的需求。我国数据工程师真正诞生是在十几年前。而现在,随着数据量的激增且更多地存储在云端,越来越多公司变成数据公司、市场对数据公司的需求也在持续增长。基于数据做分析的数据分析工程师也非常重要,他们既要了解数据库的技术,又要懂业务,才能更好地进行数据分析,这样的人才在未来会非常紧俏。

据Glassdoor(美国一家做企业点评与职位搜索的职场社区)统计,从2016年到2020年,“数据科学家”在美国最佳工作排行榜中一直位居榜首,被称为21世纪最性感的工作。现在,数据科学家和数据工程师的需求还在持续上升,薪资也是。

目前,中国对数据库人才的需求也具有相同趋势,尽管过去在关系型数据库领域处于引领地位的还是Oracle的MySQL数据库。但我相信,中国未来会构建自己的数据库新生态。中国也非常有机会在新技术上进行弯道超车,例如腾讯云数据库TDSQL,以及其他新型数据库。同时,也希望更多CSDN平台上的开发者能够加入新型数据库赛道中来,并欢迎大家去参加

END

《新程序员002:新数据库时代&软件定义汽车》,由60余位专家倾力创作,包含世界级技术大师的深邃思考、前沿技术的发展,以及深入行业的应用实践。随书附赠《2021数据库全景图V1.0》和《2021汽车技术与产业生态全景图V1.0》,同时内含《2021年度数据库发展研究报告》和《2021年度软件定义汽车研究报告》,图文与视频多媒体呈现。

","force_purephv":"0","gnid":"9a6070ef64a1e6900","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752.gif","width":"640"},{"desc":"","height":"1620","title":"","url":"https://p0.ssl.img.360kuai.com/t0109990b52975adbf7.jpg","width":"1080"},{"desc":"","height":"609","title":"","url":"https://p0.ssl.img.360kuai.com/t01240552e8a15b88ae.jpg","width":"1080"},{"desc":"","height":"575","title":"","url":"https://p0.ssl.img.360kuai.com/t010190bda1f672fb2f.jpg","width":"1080"},{"desc":"","height":"612","title":"","url":"https://p0.ssl.img.360kuai.com/t01b1552426afaf5bba.jpg","width":"1080"},{"desc":"","height":"620","title":"","url":"https://p0.ssl.img.360kuai.com/t012c5a761b48a984ca.jpg","width":"908"},{"desc":"","height":"580","title":"","url":"https://p0.ssl.img.360kuai.com/t01e8f355c850478805.jpg","width":"1038"},{"desc":"","height":"540","title":"","url":"https://p0.ssl.img.360kuai.com/t019e7e290a0aa1cd6a.jpg","width":"960"},{"desc":"","height":"521","title":"","url":"https://p0.ssl.img.360kuai.com/t01c081a8f602313d6c.jpg","width":"1080"},{"desc":"","height":"540","title":"","url":"https://p0.ssl.img.360kuai.com/t014efb704a53cb0251.jpg","width":"960"},{"desc":"","height":"540","title":"","url":"https://p0.ssl.img.360kuai.com/t01ae7f6e952c7614e9.jpg","width":"960"},{"desc":"","height":"540","title":"","url":"https://p0.ssl.img.360kuai.com/t01902b26ba00460776.jpg","width":"960"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1656575538000,"pure":"","rawurl":"http://zm.news.so.com/9a23918f836f4eb36db735a907c1db1c","redirect":0,"rptid":"db36376b20b71e44","s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:github","k":"github","u":""},{"clk":"ktechnology_1:腾讯云","k":"腾讯云","u":""},{"clk":"ktechnology_1:mysql","k":"mysql","u":""}],"title":"新数据库时代,不要只学 Oracle、MySQL

夏空娴1067mysql中的索引怎样使用btree索引 -
姜黛包19245431823 ______ B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 B-Tree 索引.不仅仅在 MySQL 中是如此,实际上在其他的很多数据库管理系统中B-Tree 索引也同样是作为最主要的索引类型...

夏空娴1067mysql 状态类型字段怎么建索引 -
姜黛包19245431823 ______ 1. 如果只是0和1的话,加索性未必会有用,当查询数据超过总数据的20%,索引会失效2.如果修改这个字段是主旋律,加索引会对更新操作带来性能损失3. 如果一定要用status这个字段进行查询,考虑下能否将status这个字段的值分离得更加离散,从索引的原来来说,索引离散才能快速定位到自己查询的数据

夏空娴1067mysql全文索引问题 -
姜黛包19245431823 ______ 全文索引是为LIKE子句设计的.使用得当时可以极大提升效率.但是,mysql的全文索引是有局限的.select id from `data_table` where `content` like '%百度%'; select id from `data_table` where `content` like '百度%';第一个SQL语句是不能使用...

夏空娴1067在数据表中索引有什么用,怎么建立索引 -
姜黛包19245431823 ______ 索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多.建立索引的操作步骤如下: 1、首先我们打开一个要操作的数据表,如下图所...

夏空娴1067为什么使用MySQL索引 -
姜黛包19245431823 ______ 索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧. 注:这里主要针对的是InnoDB存储引擎的B+Tree索引数据结构 索引的优点 1、大大减轻了服务器需要扫描的数据量,从而提高了数据的检索速度 2、帮助服务器避免排序和临时表 3、可以将随机I/O变为顺序I/O

夏空娴1067什么是mysql的联合索引,如何建立mysql的索引 -
姜黛包19245431823 ______ 联合索引是由多个字段组成的索引.CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name[USING index_type]ON tbl_name (index_col_name,...)index_col_name:col_name[(le...

夏空娴1067SQL,索引的例子 -
姜黛包19245431823 ______ 就用 mysql 数据库举例吧 一、什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里...

夏空娴1067mysql有类似sqlserver聚合索引的索引类型么 -
姜黛包19245431823 ______ INNODB引擎下,主键索引就是聚合索引.MYISAM下,没有聚合索引.MySQL索引类型包括:一、普通索引 这是最基本的索引,它没有任何限制.有以下几种创建方式:1.创建索引 代码如下:CREATE INDEX indexName ON mytable(username(...

夏空娴1067mysql数据库查询好慢怎么解决 -
姜黛包19245431823 ______ 28万条数据量不是很大,字段稍微有点多,如果不加WHERE 条件的话,数据库判定是查询所有数据库,而加了WHERE 条件时,数据库判定要去详细的查找某个数据,所以速度自然会慢,建立索引可以解决您的问题; CREATE INDEX 索引名 ON 表名 (WHERE 条件用到的列名,如有多个就以逗号分隔); 这次在去WHERE 的时候就会快很多

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024