2 海盗船长没有船y

学生身份

我要认证

在校大学生,努力经营,冲刺好工作,努力拿offer!!!奥力给

等级
TA的排名 1w+

Mysql数据库优化

1.存储引擎什么是存储引擎存储引擎:可以看作是数据表存储数据的一种格式,不同的格式具有的特性也各不相同。举例说明:只有InnoDB存储引擎支持事务、外键、行级锁等特性,而MyISAM则支持压缩机制等特性。存储引擎的特点:本身是MySQL数据库服务器的底层组件之一,最大的特点是采用“可插拔”的存储引擎架构。“可插拔”的理解:指的是对正在运行的MySQL服务器依然可根据实际需求使用特定语句加载(插入,INSTALL PLUGIN语句)或卸载(拔出,UNINSTALL PLUGIN语句)所需的存储引擎文

2020-10-05 22:07:55

事务

1.事务处理1.事务的概念事务是针对数据库的一组操作, 它可以由-一条或多条SQL语句组成。2.事务的基本操作在默认情况下,用户执行的每一条SQL语句都会被当成单独的事务自动提交。如果要将一组SQL 语句作为-一个事务, 则需要先执行以下语句显式地开启一个事务。START TRANSACTION;此时,每一条SQL语句不再自动提交,用户需要手动提交操作才会生效。COMMIT;如果不想提交当前事务,可以取消事务(即回滚)。ROLLBACK;事务的执行要么成功,要么就返回到事务开始前

2020-09-24 06:53:55

Mysql视图

1.初识视图1.视图的概念和作用什么是视图:是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表。作用:简化查询语句:简化用户的查询操作,使查询更加快捷。安全性:更方便的进行权限控制。逻辑数据独立性:屏蔽真实表结构变化带来的影响。2.创建视图语法CREATE[OR REPLACE][ALGORITHM = {UNDEFINED |MERGE│TEMPTABLE][DEFINER= { user | CURRENT_USER][SQL SECURITY { DE

2020-09-24 05:57:56

Mysql用户与权限操作

用户与权限概述用户是数据库的使用者和管理者。MySQL通过用户的设置来控制数据库操作人员的访问与操作范围。服务器中名为mysqI的数据库,用于维护数据库的用户以及权限的控制和管理。MySQL中的所有用户信息都保存在mysql.user数据表中。根据mysql.user表字段的功能可将其分为6类客户端访问服务器的账号字段Host和User字段共同组成的复合主键用于区分MySQL中的账户。User字段用于代表用户的名称。Host字段表示允许访问的客户端IP地址或主机地址。当Host的值

2020-09-23 17:38:22

HTTP协议版本及特征

1、HTTP 0.9HTTP 0.9是第一个版本的HTTP协议,已过时。它的组成极其简单,只允许客户端发送GET这一种请求,且不支持请求头。由于没有协议头,造成了HTTP 0.9协议只支持一种内容,即纯文本。不过网页仍然支持用HTML语言格式化,同时无法插入图片。HTTP 0.9具有典型的无状态性,每个事务独立进行处理,事务结束时就释放这个连接。由此可见,HTTP协议的无状态特点在其第一个版本0.9中已经成型。一次HTTP 0.9的传输首先要建立一个由客户端到Web服务器的TCP连接,由客户端发起一个请

2020-08-25 17:15:06

drop、truncate和delete的区别

一、deletedelete是DML(data maintain Language,这个操作会被放到 rollback segment中,事务提交后才生效),执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。del

2020-08-17 20:38:20

重载、重写、重定义——三种同名函数的不同处理方式

重载、重写、重定义的区别:重载在一个类中的重名函数,由于函数参数个数/类型的不同(形参列表不同),导致使用不同的函数进行处理,这种情况称为重载。class A{ public: void show(){ cout << "show()" << endl; } void show(int x){ cout << "show(int x):"<< x << endl; }};int main(){ A a;

2020-08-15 23:07:47

MySQL-多表操作

多表查询联合查询联合查询是多表查询的一种方式,在保证多个SELETE语句的查询字段数相同的情况下,合并多个查询的结果SELECT···UNION [ALL|DISTINCT] SELECT···[UNION [ALL|DISTINCT]SELECT···];在上述语法中,UNION是实现联合查询的关键字,ALL和DISTINCT是联合查询的选项,其中ALL表示保留所有的查询结果;DI...

2020-08-04 22:30:52

Redis相关知识点汇总

MongoDB和Redis有什么区别?内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。支持的数据结构上:Redis 支持的数据结构丰富,包括hash、set、list等。MongoDB 数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。mysql引擎以及其区别在

2020-08-03 17:49:34

Linux虚拟内存和缺页中断

Linux虚拟内存地址空间为了防止不同进程同一时刻在物理内存中运行而对物理内存的争夺和践踏,采用了虚拟内存。虚拟内存技术使得不同进程在运行过程中,它所看到的是自己独自占有了当前系统的4G内存。所有进程共享同一物理内存,每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上。 事实上,在每个进程创建加载时,内核只是为进程“创建”了虚拟内存的布局,具体就是初始化进程控制表中内存相关的链表,实际上并不立即就把虚拟内存对应位置的程序数据和代码(比如.text .data段)拷贝到物理内存中,只是建立好虚拟

2020-08-02 21:46:06

进程和线程的概念、区别及进程线程间通信

进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的?1. 基本概念:进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间(也就是同样的动态内存,映射文件,目标代码等等),打开的文件队列和其他

2020-08-02 16:24:25

什么是右值引用?跟左值有什么关系?

右值引用右值引用是C++11中引入的新特性 , 它实现了转移语义和精确传递。它的主要目的有两个方面:消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。能够更简洁明确地定义泛型函数。左值和右值的概念:左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在的临时对象。右值引用和左值引用的区别:左值可以寻址,而右值不可以。左值可以被赋值,右值不可以被赋值,可以用来给左值赋

2020-08-01 23:12:44

STL中迭代器有什么作用作用,有指针为何还要迭代器?

1. 迭代器Iterator(迭代器)模式又称游标(Cursor)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用于聚合对象的一种模式,通过运用该模式,使得我们可以在不知道对象内部表示的情况下,按照一定顺序(由iterator提供的方法)访问聚合对象中的各个元素。由于Iterator模式的以上特性:与聚合对象耦合,在一定程度上限制了它的广泛运用,一般仅用于底层聚合支持类,如STL的list、vector、stac

2020-08-01 22:34:59

请讲讲vector和list的区别和应用

list详解vector详解1、概念:1. Vector连续存储的容器,动态数组,在堆上分配空间底层实现:数组1.5/2倍容量增长(随着编译器的不同,容量增长倍数也不同):vector 增加(插入)新元素时,如果未超过当时的容量,则还有剩余空间,那么直接添加到最后(插入指定位置),然后调整迭代器。如果没有剩余空间了,则会重新配置原有元素个数的两倍空间,然后将原空间元素通过复制的方式初始化新空间,再向新空间增加元素,最后析构并释放原空间,之前的迭代器会失效。性能:访问时间复杂度:O(1)

2020-08-01 22:05:04

STL中的allocaotr到底是什么?

STL之空间配置器STL的分配器用于封装STL容器在内存管理上的底层细节。在C++中,其内存配置和释放如下:new运算分两个阶段:(1)调用::operator new配置内存;(2)调用对象构造函数构造对象内容delete运算分两个阶段:(1)调用对象希构函数;(2)掉员工::operator delete释放内存为了精密分工,STL allocator将两个阶段操作区分开来:内存配置有alloc::allocate()负责,内存释放由alloc::deallocate()负责;对象构造由::c

2020-08-01 21:34:17

map和set有什么区别,他们又是如何实现的?

1.AVLTree和RBTree的实现(map和set的底层实现)2.map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。3.map和set的区别在于:map中的元素是key-value(键值对)对:关键字起到索引的作用,值则表示与索引相关联的数据;Set与之相对就是关键字的简单集合,set中每个元素只包含一个关键字。

2020-08-01 21:22:47

虚函数、析构函数、静态函数、多态

为什么析构函数必须是虚函数将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类,然后使用基类指针指向该子类对象,释放基类指针时可以释放掉子类的空间,防止内存泄漏。为什么C++默认的析构函数不是虚函数C++默认的析构函数不是虚函数是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存。而对于不会被继承的类来说,其析构函数如果是虚函数,就会浪费内存。因此C++默认的析构函数不是虚函数,而是只有当需要当作父类时,设置为虚函数。静态函数和虚函数的区别静态函数在编译的时候就已经确定运行

2020-07-30 23:47:25

C++中四种cast转换

C++中四种类型转换是:static_cast, dynamic_cast, const_cast, reinterpret_cast1、const_cast用于将const变量转为非const2、static_cast用于各种隐式转换,比如非const转const,void*转指针等, static_cast能用于多态向上转化,如果向下转能成功但是不安全,结果未知;3、dynamic_cast用于动态类型转换。只能用于含有虚函数的类,用于类层次间的向上和向下转化。只能转指针或引用。向下转化时,

2020-07-29 00:17:48

并查集的原理及实现

并查集原理在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集(union-findset)。并查集一般可以解决一下问题:查找元素属于哪个集合沿着数组表示树形关系以上一直找到根(即:树中中元素为负数的位置)查看两个元素是否属于同一个集合沿着数组表示的树形关系往上一直找到树的根,如果根相同表明在同一个集合,否则不

2020-07-28 23:11:22

一篇文章牢记C/C++指针和引用区别

指针有自己的一块空间,而引用只是一个别名;(本质)使用sizeof看一个指针的大小是4(32位下),而引用则是被引用对象的大小; (大小)指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用;(初始化)作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引 用的修改都会改变引用所指向的对象;可以有const指针,但是没有const引用;指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能 被改变;指针可以有多级指针(**p),而引用至于一级;指针和.

2020-07-25 14:07:21

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取