- 博客(71)
- 收藏
- 关注
原创 Vue开发使用Axios遇到了大坑!
使用Vue的axios连接部分正常,部分不正常,服务器状态码200,服务器端控制台也不报错。但是页面请求就是报错。使用iPhone手机报错,换华为安卓手机也是一样的报错,安卓手机不知道怎么调试,使用macOS的Safari浏览器可以调试iPhone手机浏览器,调试报错,但是不知道原因。就单纯报错,服务器是没有任何问题。错误代码是200。 也就是说,我PC版本浏览器缩放成手机浏览器一切正常,真机报...
2020-04-25 14:16:55
977
原创 MySQL如何快速插入数据
前言: 日常学习和工作中,经常会遇到导数据的需求。比如数据迁移、数据恢复、新建从库等,这些操作可能都会涉及大量数据的导入 有时候导入进度慢,电脑风扇狂转真的很让人崩溃,其实有些小技巧是可以让导入更快速的,本篇文章笔者会谈一谈如何快速的导入数据。 注:本篇文章只讨论如何快速导入由逻辑备份产生的SQL脚本,其他文件形式暂不讨论。 1.尽量减小导入文件大小首先给个建议,导出导入数据尽量使用MySQL自带...
2020-04-25 13:07:45
1353
原创 MySQL面试题 | 附答案解析(二十)
接上篇!!! 5. MySQL的复制原理以及流程 主从复制:将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做);从而使得从数据库的数据与主数据库保持一致。主从复制的作用主数据库出现问题,可以切换到从数据库。可以进行数据库层面的读写分离。可以在从数据库上进行日常备份。MySQL主从复制解决的问题数据分布:随意开始或停止复制,并在不同地理位置...
2020-04-24 13:51:30
459
原创 MySQL面试题 | 附答案解析(十九)
数据库优化 1. 为什么要优化 (1)系统的吞吐量瓶颈往往出现在数据库的访问速度上 (2)随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 (3)数据是存放在磁盘上的,读写速度无法和内存相比 (4)优化原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。 2. 数据库结构优化 一个好的数据库设计方案对于数据库的性能往往会起到事半功倍的效果。 需要考虑数据冗余、查询和更新的速度、...
2020-04-24 13:42:50
671
原创 MySQL面试题 | 附答案解析(十八)
接上篇!!! SQL语句优化的一些方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null-- 可以在num上设置默认值0,确保表中num列没有null值,然...
2020-04-23 13:23:50
236
原创 MySQL面试题 | 附答案解析(十七)
接上篇!!! 9. 主键使用自增ID还是UUID? 推荐使用自增ID,不要使用UUID。 因为在InnoDB存储引擎中,主键索引是作为聚簇索引存在的,也就是说,主键索引的B+树叶子节点上存储了主键索引以及全部的数据(按照顺序),如果主键索引是自增ID,那么只需要不断向后排列即可,如果是UUID,由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成...
2020-04-23 13:06:31
319
原创 MySQL面试题 | 附答案解析(十六)
接上篇!!! 2. SQL的生命周期? (1)应用服务器与数据库服务器建立一个连接 (2)数据库进程拿到请求sql (3)解析并生成执行计划,执行 (4)读取数据到内存并进行逻辑处理 (5)通过步骤一的连接,发送结果到客户端 (6)关掉连接,释放资源 3. 大表数据查询,怎么优化 (1)优化shema、sql语句+索引; (2)第二加缓存,memcached, redis; (3)主从复制,读写分...
2020-04-22 13:18:24
308
原创 MySQL面试题 | 附答案解析(十五)
SQL优化 1. 如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因? 对于低性能的SQL语句的定位,最重要也是最有效的方法就是使用执行计划,MySQL提供了explain命令来查看语句的执行计划。我们知道,不管是哪种数据库,或者是哪种数据库引擎,在对一条SQL语句进行执行的过程中都会做很多相关的优化,对于查询语句,最重要的优化方式就是使用索引...
2020-04-22 12:51:39
312
原创 MySQL面试题 | 附答案解析(十四)
接上篇!!! 5. 什么是子查询 (1)QL语句的查询结果做为另一条查询语句的条件或查询结果 (2)SQL语句嵌套使用,内部的SQL查询语句称为子查询。 6. 子查询的三种情况 (1)询是单行单列的情况:结果集是一个值,父查询使用:=、 <、 > 等运算符 – 查询工资最高的员工是谁? select * from employee where salary=(select max(s...
2020-04-21 13:42:25
275
原创 MySQL面试题 | 附答案解析(十三)
常用SQL语句 1. SQL语句主要分为哪几类 数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER 主要为以上操作 即对逻辑结构等有操作的,其中包括表结构,视图和索引。 数据查询语言DQL(Data Query Language)SELECT 这个较为好理解 即查询操作,以select关键字。各种简单查询,连接查询等 都属于DQL。 数据操纵...
2020-04-21 13:18:21
329
原创 MySQL面试题 | 附答案解析(十二)
(一)存储过程与函数 什么是存储过程?有哪些优缺点? 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。 优点 1)存储过程是预编译过的,执行效率高。 2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。 3)安全性高,执行存储过程需要有一定权...
2020-04-20 14:17:36
291
原创 MySQL面试题 | 附答案解析(十一)
视图 为什么要使用视图?什么是视图? 为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。 视图使开发者只关心感兴趣的某些特定数据和所...
2020-04-20 13:30:44
539
原创 MySQL面试题 | 附答案解析(十)
接上篇:锁 5. MySQL中InnoDB引擎的行锁是怎么实现的? 答:InnoDB是基于索引来完成行锁例: select * from tab_with_index where id = 1 for update;for update 可以根据条件来完成行锁锁定,并且 id 是有索引键的列,如果 id 不是索引键那么InnoDB将完成表锁,并发将无从谈起 6. InnoDB存储引擎的锁的算法有...
2020-04-18 13:43:29
283
原创 MySQL面试题 | 附答案解析(九)
锁 对MySQL的锁了解吗当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。 隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需要加共享锁,...
2020-04-18 13:08:56
222
原创 MySQL面试题 | 附答案解析(八)
事务 什么是数据库事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错...
2020-04-17 13:07:34
210
原创 MySQL面试题 | 附答案解析(七)
B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据在B+树的索引中,叶子节点可能存储了当前的key值,也可能存储了当前的key值以及整行的数据,这就是聚簇索引和非聚簇索引。在InnoDB中,只有主键索引是聚簇索引,如果没有主键,则挑选一个唯一键建立聚簇索引。如果没有唯一键,则隐式的生成一个键来建立聚簇索引。当查询使用聚簇索引时,在对应的叶子节点,可以获取到整行数据,因此不用再次进行回表查询...
2020-04-17 12:49:53
317
原创 MySQL面试题 | 附答案解析(六)
B树和B+树的区别 (1)在B树中,你可以将键和值存放在内部节点和叶子节点;但在B+树中,内部节点都是键,没有值,叶子节点同时存放键和值。 (2)B+树的叶子节点有一条链相连,而B树的叶子节点各自独立。 使用B树的好处B树可以在内部节点同时存储键和值,因此,把频繁访问的数据放在靠近根节点的地方将会大大提高热点数据的查询效率。这种特性使得B树在特定数据重复多次查询的场景中更加高效。 使用...
2020-04-16 13:46:11
231
原创 MySQL面试题 | 附答案解析(五)
创建索引时需要注意什么? (1)非空字段:应该指定列为NOT NULL,除非你想存储NULL。在mysql中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值; (2)取值离散大的字段:(变量各个取值之间的差异程度)的列放到联合索引的前面,可以通过count()函数查看字段的差异值,返回值越大说明字段的唯一值越多...
2020-04-16 13:17:39
241
原创 MySQL面试题 | 附答案解析(四)
7. 索引算法有哪些? 索引算法有 BTree算法和Hash算法BTree算法 BTree 是最常用的mysql数据库索引算法,也是mysql默认的算法。因为它不仅可以被用在=,>,>=,<,<=和between这些比较操作符上,而且还可以用于like操作符,只要它的查询条件是一个不以通配符开头的常量, 例如: – 只要它的查询条件是一个不以通配符开头的常量 select ...
2020-04-13 13:14:30
191
原创 MySQL面试题 | 附答案解析(三)
索引有哪几种类型? 主键索引: 数据列不允许重复,不允许为NULL,一个表只能有一个主键。 唯一索引: 数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。可以通过 ALTER TABLE table_name ADD UNIQUE (column); 创建唯一索引可以通过 ALTER TABLE table_name ADD UNIQUE (column1,column2); ...
2020-04-13 12:56:18
182
原创 MySQL面试题 | 附答案解析(二)
1. 什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空...
2020-04-11 14:21:41
243
原创 MySQL面试题 | 附答案解析(一)
为什么要使用数据库数据保存在内存优点:存取速度快缺点:数据不能永久保存数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便 什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和...
2020-04-11 14:08:48
402
原创 国内 Java 开发者必备的两个神器:Maven国内镜像和Spring国内脚手架
虽然目前越来越多的国产优秀技术产品走出了国门,但是对于众领域的开发者来说,依然对于国外的各种基础资源依赖还是非常的强。所以,一些网络基本技能一直都是我们需要掌握的,但是速度与稳定性问题一直也都有困扰着大家。所以,今天就给众 Java 开发者推荐两个提速神器:Maven的国内镜像和Spring的国内脚手架!Maven的国内镜像官网地址:http://maven.aliyun.com/ 对于每一个Ja...
2020-04-10 13:25:03
1123
原创 快来学习Redis 分布式锁的背后原理
以前在学校做小项目的时候,用到Redis,基本也只是用来当作缓存。可阿粉在工作中发现,Redis在生产中并不只是当作缓存这么简单。在阿粉接触到的项目中,Redis起到了一个分布式锁的作用,具体情况是这样的:该项目在某金融平台中负责某块业务,是一个分布式系统,线上大概跑着10个左右的实例。其中有一个步骤需要用户支付一定的费用,Redis分布式锁在其中大概处于这么一个位置: 可以看到在上分布式锁之后,...
2020-04-10 13:13:05
136
原创 五款用于Web应用开发的优秀Java框架
从1996年1月23日的首发到现在,Java已经走过了24个年头了。根据TIOBE指数(译者注:该排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,使用搜索引擎统计出各类排名)的显示:Java持续排名第一。Java已证明了自己配得上用于定制软件开发的优秀通用编程语言。而且,包括ESPN、SnapDeal、以及阿里巴巴在内的134,861个网站均将Java作为其主要的编程语言。在下面提供的...
2020-04-09 13:01:55
1514
原创 一起来了解React的四种优秀甘特图方案(下篇)
接上篇!!! 3. DHTMLX Gantt(https://dhtmlx.com/docs/products/dhtmlxGantt/) 作为一款功能齐全的甘特图工具,DHTMLX Gantt能够实现跨浏览器和平台的应用。它能够完全自定义各种图表,其灵活的API也能够方便每个元素的配置。您可以自定义从任务栏到网格结构的所有内容。使用其缩放功能,以及在月、日和小时之间灵活的切换,您可以更专注于...
2020-04-08 12:56:35
4728
原创 程序员在职场中想快速升职,这4种潜质少不得!
在之前的文章中,小编有和大家介绍过程序员主要有2种发展路线: 一是往架构师的方向走,架构师在至少一两个领域的深度外,对广度的要求非常高,同时还要具备判断能力。 二是成为一个团队的leader。承担着团队方向的判断的职责,影响着团队所有成员的未来。因而,想要很快升职成为一个leader,这四种潜质你得有。 在职久的人其实,这也是一直奉劝大家不要频繁离职的一个原因。在一个企业呆的足够久,才能对无论业...
2020-04-03 13:12:50
184
原创 史上最全SQL优化方案(二)
接上篇!! 4 基础优化 a 优化思路 定位问题点吮吸:硬件–>系统–>应用–>数据库–>架构(高可用、读写分离、分库分表)。 处理方向:明确优化目标、性能和安全的折中、防患未然。 b 硬件优化 主机方面: c 服务器硬件优化 d 系统优化 这个参数决定了Linux是倾向于使用swap,还是倾向于释放文件系统cache。在内存紧张的情况下,数值越低越倾向...
2020-04-02 15:18:03
228
原创 史上最全SQL优化方案(一)
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 1、优化的哲学注: 优化有风险,涉足需谨慎 a 优化可能带来的问题? (1)优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统; (2)优化手段本来就有很大的风险,只不过你没能力意识到和预见到 (3)任何的技术可以解决一个...
2020-04-02 14:47:17
1651
原创 0基础培训java必须掌握的一些知识点
相信接触过Java的小伙伴们都知道,Java是一门强大的编程语言,在现今互联网行业中,Java的身影可谓是随处可见的,可能刚刚开始学习的小伙伴会因Java编程语言庞大的体系而震惊,但是知识是需要日积月累的,没有人能够一口吃成个胖子那么对于零基础学习java技术的学员来说必学的五个知识点是什么呢?怎么才可以学习好java技术呢?下面就给大家讲解下: 一.什么是线程世间万物都可以同时完成很多工作。例...
2020-03-31 12:48:17
219
原创 0基础小白学好JAVA的5个方法
JAVA分两个大方向web企业级开发(JavaWeb J2EE)和手机android开发。一般从事Java的开发人员都会从J2SE开始学习,因此对于J2SE的掌握必须要牢固。然而在初期学习时,通常会对如何学习而感到迷茫,下面小编来分析一下如何学习好JAVA编程,相信能帮助正处于迷茫状态的你。 1.学习语言基础很显然,掌握语言基础是第一步。如果你不了解基础知识,那么你就不知道自己是否做错了或者接下...
2020-03-31 12:42:24
231
原创 Java就业难不难?是否要参加Java培训?
这个是老话题了,java程序员远远没有饱和,年薪10万+元是很正常的一个薪酬水平。现在java程序员挺多的,但是职位需求量更大,特别是能干实干或优秀的程序员是相当缺乏的,没存在饱和一说。对于Java的讨论,就一直没有停止过。直到现在依然会有一些人在说Java程序员趋于饱和状态。那么Java市场究竟是怎样的呢? 第一. Java的市场规模市场规模(Market Size),即市场容量,市场规模主要是...
2020-03-30 14:15:57
275
原创 JAVA培训哪里好?学习Java难不难
学习技术目的是为了找个好工作,对于很多人来说就业是前提,如果学习完毕业以后知识没学到,工作方面也就不了业,那学习还有什么用呢?所以选择Java培训机构的时候要选择一家就业率好的机构,这对往后就业帮助是非常大的。也不要一味去网上找答案。网上有些东西还是带有水份的,我们要到培训机构的实地去考察了解。 第一.为什么学习java? 没目的学习都是在浪费自己时间、金钱,不管做什么事情一定要明确目的。有人学...
2020-03-10 19:15:39
487
原创 程序员们都必须知道的8种通用数据结构
数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。 数据结构在计算机科学和软件工程领域具有广泛而多样的用途。 几乎所有已开发的程序或软件系统都使用数据结构。 此外,数据结构属于计算机科学和软件工程的基础。 当涉及软件工程面试问题时,这是一个关键主题。 因此,作为开发人员,我们必须对数据结构有充分的了解。 在本文中,我将简要解释每个程序员必须知道的8种常用数据结构...
2020-03-04 14:53:00
277
原创 不使用任何后端代码可以开发应用程序吗?
在一个一切都在加速的世界里,你需要快速迭代以避免被抛弃。 技术有很多,但你不可能掌握每一项。你可能会问自己:“我怎么能在不了解后端代码的情况下构建应用程序呢?” (1)你需要快速、安全地进行迭代 (2)不太了解后端代码、主机或DevOps (3)专注于已经很复杂的前端开发工作 那么,在没有任何后端代码的情况下,你能开发出一个可以工作的应用程序吗? 小芯告诉你:可以的。 下面我们就来一一介绍: 后端...
2020-03-03 11:50:40
303
原创 企业区块链应用程序的两个关键问题
公共区块链通过提供数据的透明度、完整性、可追踪性、真实性来协调信任层。它可以记录所有交易活动。这些独特的属性吸引了许多企业来开发应用程序,这些应用程序记录利益相关者之间的透明活动、提供来源可追溯性的所有权详细信息、证明存在的数字内容的时间戳等等。Aion基金会首席执行官Matt Spoke强调了公共区块链是一条很好的前进道路的原因。 尽管区块链存储是开放和可访问的,但在这种状态下执行的每一个写操...
2020-03-02 15:33:41
227
原创 一文看懂docker容器技术架构及其中的各个模块
概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块。 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 registry负责docker registry有关的身份认证、镜像查找、镜像验证以及管理registry mirror等交互操作。 image 负责与镜像源数据有关的存储、查找,镜像层的索引...
2020-02-29 20:40:45
945
原创 缓存成神路:Redis读写分离难以理解?一文解析Redis读写分离技术
背景 云数据库Redis版不管主从版还是集群规格,replica作为备库不对外提供服务,只有在发生HA的时候,replica提升为master后才承担读写流量。这种架构读写请求都在master上完成,一致性较高,但性能受到master数量的限制。经常有用户数据较少,但因为流量或者并发太高而不得不升级到更大的集群规格。 为满足读多写少的业务场景,最大化节约用户成本,云数据库Redis版推出了读写分...
2020-02-29 20:35:02
234
原创 老码农绝密:使用 TS(TypeScript) 的 10 大理由
最近,小编读了一篇名为《放弃 TypeScript 的 7 个非常好的理由》,这篇文章的阅读量不低。里面有些观点确实有趣,不过在这里我要向你介绍使用 TypeScript 的 10 个理由。 TypeScript 降低代码出错的风险 开发人员写 BUG 是很自然的事情。几乎有一半的时间,我们都是在查找程序出错的原因。在 JavaScript 中,原因可能只是简单如类型错误。例如,将数值赋值给字符串...
2020-02-28 19:51:43
727
原创 十年“老司机”的私家锦囊:10个编程技巧、5个纠错步骤,让你的编程之路少点坎坷
在我下决心将编程进行到底之前,大概经历了四次放弃又捡起的过程,而且我观察了一些数据科学的学生,这种事不光是我一个人做过。 缓慢且乏味的学习过程,随之而来的挫折感,这些都是造成半途而废的原因。因此,我开始思考如何消除那些本不必要但确实阻碍了人们成为合格程序员的困难。学习都会有困难的,但是我们至少要减少一些没有必要的障碍。 这里有 10 个技巧可以帮助你更快地跨越障碍,获得更多的成就感。如果你已经写...
2020-02-28 19:48:06
276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人