
MySql数据库
文章平均质量分 55
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
数据库引擎(Database Engine)知识
数据库引擎是数据库管理系统的核心,它定义了如何存储、管理和访问数据。每种数据库引擎根据其特点适应不同类型的应用和工作负载。根据业务需求、数据规模、性能要求等因素,选择合适的数据库引擎可以有效提高系统的性能和可扩展性。原创 2024-11-27 14:45:01 · 1077 阅读 · 0 评论 -
Oracle,PostgreSQL,MySql,SqlServer各数据库查元信息的SQL
【代码】Oracle,PostgreSQL,MySql,SqlServer各数据库查元信息的SQL。原创 2024-11-18 02:10:49 · 510 阅读 · 0 评论 -
MVCC(多版本并发控制)机制和原理
是一种常见的并发控制机制,常用于数据库管理系统中,其主要思想是为每个事务分配一个唯一的时间戳,并使用时间戳来区分事务的版本,以避免读取已被修改或正在被修改的数据。MVCC机制的主要原理是通过创建多个版本的数据,从而使并发事务不会互相干扰。总之,MVCC机制通过为每个事务分配唯一的时间戳,并创建多个版本的数据来实现并发控制。这种机制可以避免数据冲突和死锁等并发控制问题,从而提高数据库系统的性能和可靠性。转载 2023-03-12 21:46:19 · 2146 阅读 · 0 评论 -
MySql索引下推原理
但是,如果我们在查询时指定了一个索引列,MySQL 会首先根据该列的索引查找符合条件的行,然后再去数据表中取出相应的数据。例如,当查询条件中包含了多个 AND 连接的条件时,MySQL 可以将其中某些条件下推到索引层级中,从而提高查询效率。而索引下推则更进一步,它会将一些无关的查询条件也应用到索引层级中,从而进一步减少需要扫描的行数。具体来说,当 MySQL 发现某个查询条件可以通过索引快速定位到相应的行时,它会尽可能地将该条件下推到索引层级中,从而在扫描行数更少的情况下得到结果。转载 2023-02-28 15:24:39 · 482 阅读 · 1 评论 -
数据分析中常用的SQL语句
汇总一些分析型SQL操作,为数据分析师们做一些基本的命令总结。包括关系型以及非关系型中的一些数据库,过滤行以及查找 where in not like。除了多表关联查询,子查询以及表集合查询外,还有层次查询。MySQL和Orcale有不一样的地方。转载 2022-10-19 18:20:42 · 535 阅读 · 0 评论 -
SQL:求筛选时间段内每天各分组的聚合数据
报表需求,必须由SQL处理完成,页面筛选条件为日期段,需要将所选日期按照每日区分,查出所有组别在每日的进线量、接通量、呼损量、接听率、进线占比、好评率。进线量为线路全部进线量,接通量为量,呼损量为量,接听率=接通量/进线量,进线占比=线路进线量/进线总量,好评率=(非常满意+满意)/(非常满意+满意+服务不满意)数据库:mysql8.0。转载 2022-10-01 21:28:22 · 2230 阅读 · 0 评论 -
Database数据库学习
ORM的设计思想对于ORM一定是以对象为起点,使用对象构造出LINQ表达式,这样我们在对象的世界中可以描述我们希望对数据库所进行的操作,LINQ的最终实现其实也是Lambda表达式(毕竟LINQ在代码上会直观很多),功能较强的ORM中都会记录对象类型到数据库对象的元数据,使用这些元数据可以将复杂的Lambda表达式翻译成一个通用的中间表达式,这个表达式其实是抽象于各个不同数据库的具体实现,最后中间表达式再按指定数据库的具体实现生成最终的SQL语句,交由ADO.NET对象执行到数据库,如果数据存在返回则会转载 2021-04-18 22:38:46 · 363 阅读 · 4 评论 -
mysql 按年度、季度、月度、周、日SQL统计查询
创建TableCREATE TABLE `test` ( `cdate` datetime DEFAULT NULL, `id` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;插入测试资料DROP PROCEDURE IF EXISTS `test`;CREATE PROCEDURE `test`(IN iCount INT,IN sNAME VAR转载 2021-04-04 21:46:01 · 2262 阅读 · 0 评论 -
一条查询sql的执行流程和底层原理
一条查询SQL执行流程图如下序章 自我介绍我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇。额~~不是我不说啊,因为细说起来,我可以细分为DML(Update、Insert、Delete),DDL(表结构修改),DCL(权限操作),DQL(Select)操作,一个个去介绍,我怕大家嫌我烦!嗯,大家没什么意见,我继续往下自我介绍了~由于种类太多,这里我只是一条查询SQL,也就是一句DQL。客户端按照Mysql通信协议,把我发送到服务端。当我到达服务端后,我会在一个单独的线转载 2021-03-30 16:48:49 · 278 阅读 · 0 评论 -
Mysql定时执行任务实现方法
在开发过程中经常会遇到这样一个问题:每天必须定时去执行一条sql语句 或更新或删除或执行特定的sql语句。mysql的客户端工具Navicat for MySQL提供了计划任务的形式,可以很好地实现该功能,而且也确实可行,比如像定时备份就做的很好。然而当在执行的语句中包含有中文的时候,却无法定时执行了。那么就想到用mysql的event计划任务去实现:要想执行event事件,就必须保证mysql的版本的5.1.6以上,否则会报如下错误:1、要想保证能够执行event事件,就必须保证定时器是开启状转载 2020-12-05 13:15:52 · 487 阅读 · 1 评论 -
Mysql数据库死锁技术研究
DeadLockTree死锁技术研究死锁: 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的互相等待的现象,若无外力 作用,他们都将无法推进下去,此时称系统处于死锁状态,这些永远互相等待的进程称为死锁进程。死锁产生的4个必要条件 1)互斥条件 指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只有一个进程使用。如果此 ...转载 2019-06-02 12:23:43 · 221 阅读 · 0 评论 -
互斥锁和自旋锁的区别
自旋锁(Spin lock)自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥锁。虽然它的效率比互斥锁高,但是它也有些不足之处: 1、自旋锁...转载 2019-06-05 12:55:07 · 652 阅读 · 0 评论 -
mysql分页查询limit中偏移量offset过大导致性能问题
在业务中经常会遇到关于分页的需求,这就会经常会用到MySQL中的limit offset,rows来分段取出每页中需要的数据。但是当数据量足够大的时候,limit条件中的偏移量offset越大就越会导致性能问题,导致查询耗时增加严重。先看一下测试:-- 本地库中只有二百多万条数据,访者可以在本地将数据写入到千万条做测试。效果会更明显select count(*) from notes; ...转载 2019-06-05 12:52:52 · 3092 阅读 · 0 评论 -
Mysql存储过程中使用多游标
mysql的存储过程可以很方便使用游标来实现一些功能,存储过程的写法大致如下:先创建一张表,插入一些测试数据:DROP TABLE IF EXISTS netingcn_proc_test;CREATE TABLE netingcn_proc_test ( id INTEGER(11) NOT NULL AUTO_INCREMENT, name VARCHAR(20), ...转载 2018-08-27 22:34:40 · 657 阅读 · 0 评论 -
MySql与SqlServer的一些常用用法的差别
本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主。1. 标识符限定符 SqlServer [] MySql “2. 字符串相加 SqlServer 直接用 + MySql concat()3. isnull() SqlServer isnull() MySql ifnull() 注意:MySql也有isnull(转载 2018-01-12 21:50:56 · 846 阅读 · 0 评论 -
MySQL与SQL Server的一些区别浅析
1、mysql支持enum,和set类型,sql server不支持 2、mysql不支持nchar,nvarchar,ntext类型 3、mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1) 4、mssql默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的 5、mysql需要为表指定存储类型 6、mssql识别符是[]转载 2018-01-12 19:38:35 · 1014 阅读 · 0 评论 -
MySQL学习(五)【MySQL运维实践】
5.1-MySQL日志系统什么是日志日志(log)是一种顺序记录事件流水的文件记录计算机程序运行过程中发生了什么多种多样的用途 帮助分析程序问题分析服务请求的特征、流量等判断工作是否成功执行等等……MySQL日志的分类服务器日志 记录进程启动运行过程中的特殊事件,帮助分析MySQL服务遇到的问题根据需求抓取特定的SQL语句,追踪性能可能存在的问题的业务SQL事务日志 记录应转载 2017-11-08 09:23:29 · 4011 阅读 · 0 评论 -
MySQL学习(四)【MySQL应用优化】
4.1-MySQL索引优化与设计什么是索引索引的意义 —— 快速定位要查找的数据数据库索引查找全表扫描 VS 索引查找如何根据首字母找到所在行二分查找B+treeInnoDB表聚簇索引索引中只放着排序字段和ID创建索引单列索引create index idx_test1 on tb_student (name);联合索引create index idx_test2 on tb_转载 2017-11-08 09:21:56 · 2202 阅读 · 0 评论 -
ASP.NET MVC4整合NHibernate,FluentNHibernate,MySQL数据库的应用
Models层的类: public abstract class Entity { public virtual int Id { get; set; } } public class Thingy : Entity { public virtual string Name { get; set; } }HomeController类如下:public cla原创 2016-07-31 23:50:11 · 1574 阅读 · 0 评论 -
Mysql导入数据load data infile用法
基本语法:load data [low_priority] [local] infile ‘file_name txt’ [replace | ignore] into table tbl_name [fields [terminated by’t’] [OPTIONALLY] enclosed by ”] [escaped by’\’ ]] [lines terminated by’n转载 2016-12-17 23:17:15 · 1054 阅读 · 1 评论 -
MySQL常用语法总结
MySQL limit offset示例例1,假设数据库表student存在13条数据。代码示例: 语句1:select * from student limit 9,4语句2:slect * from student limit 4 offset 9// 语句1和2均返回表student的第10、11、12、13行 //语句2中的4表示返回4行,9表示从表的第十行开始例2,通过limit和of转载 2017-05-20 22:41:35 · 968 阅读 · 0 评论 -
mysql分布式集群部署方案
分布式MySql 部署方案解决方案系统环境mysql 主从备份MyCat 中间件搭建haproxy 负载代理keepalived 解决单点故障mycat-eye 监控web实验环境整体结构图补充解决方案描述1. 启动mysql主从备份2. 通过使用Mycat中间件做分表以及路由3. 使用haproxy代理MyCat做负载均衡4. keepalived保证haproxy的高可转载 2017-08-17 14:23:38 · 4703 阅读 · 0 评论 -
mysql5.7.18解压版启动mysql服务
1.下载mysql社区版 2.解压到D:\Program Files 3.在D:\Program Files\mysql-5.7.18-winx64\bin下,新建文件my.ini,内容如下:[client] port=3306 default-character-set=utf8 [mysqld] bind-address = 127.0.0.1 port=3306 characte转载 2017-07-26 13:57:53 · 698 阅读 · 0 评论 -
mysql 5.7.18 winx64安装配置方法图文教程
mysql-5.7以后压缩包安装有了不小的变化,本文针对之前安装mysql5.7.18的笔记进行了总结,分享给大家第一步:到官网下载https://dev.mysql.com/downloads/mysql/第二步:解压到一个文件夹第三步:配置环境变量 把;%MYSQL_HOME%\bin插入到Path的最后面第四步:以管理员的身份运行命令行,按win+R 输入cmd,点鼠标右键以管理员身份运行第转载 2017-07-26 14:10:36 · 4871 阅读 · 0 评论 -
MySQL集群搭建详解
本文将搭建一个最简化的MySQL Cluster系统,配置方法中的所有命令都是以root账户运行。概述MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。MySQL Cluster允许在无共享的系统中部署“内存中”数据库集群,通过无共享体系结转载 2017-08-20 11:25:34 · 585 阅读 · 0 评论 -
MySQL优化
--查看整个数据库服务的线程数show global status like 'Thread%';--刷新会话级别的计数器FLUSH STATUS--查看当前会话的状态信息SHOW STATUS--查看所表参数信息SHOW TABLE STATUS--查看连接信息SHOW PROCESSLIST--开启会话级别的profileSET profiling=1--查看所有的数据库转载 2017-08-14 22:38:15 · 716 阅读 · 0 评论 -
MySQL配置文件mysql.ini参数详解
my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数。my.ini分为两块:Client Section和Server Section。 Client Section用来配置MySQL客户端参数。 要查看配置参数可以用下面的命令:show variables like '%innodb%'; # 查看innodb相关配置参数转载 2017-08-14 23:09:08 · 1144 阅读 · 1 评论 -
EF使用两个DbContext的例子
类图:UserModel.cs实体类using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MySQL{ p原创 2017-09-13 17:28:45 · 10181 阅读 · 0 评论 -
EF6中CodeFirst使用MySQL
Program.cs代码:using System;using System.Collections.Generic;using System.Data.Entity;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MySQLuse{ class Program原创 2017-09-14 16:01:52 · 2108 阅读 · 0 评论 -
MySQL学习(一)【MySQL数据库基础】
1.1-认识MySQL什么是数据库计算机处理和存储的一切信息都是数据。计算机系统中一种用于存取数据的程序。一种: 计算机系统中有很多种能够存取数据的程序它们各有特征和长处,有自己的适用范围。存取: 能够保存数据避免丢失。能够按照需求找到符合条件的数据。为什么要使用数据库数据库帮助我们解决一下数据存取难题:较大数据量网络控制并发访问高性能要求事务控制持久化和数据安全查询转载 2017-11-07 13:03:20 · 875 阅读 · 0 评论 -
MySQL学习(二)【MySQL数据库对象与应用】
2.1-MySQL数据类型Number不止一种整形浮点型整形INTSMALLINTMEDIUMINTBIGINT type Storage Minumun Value Maximum Value (Bytes) (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 127 0转载 2017-11-08 09:10:53 · 2332 阅读 · 0 评论 -
MySQL学习(三)【MySQL事务与存储引擎】
3.1-数据库事务什么是事务一系列有序的数据库操作: 要么全部成功要么全部回退到操作前的状态中间状态对其他连接不可见事务的基本操作: 基本操作 说明 start transaction 开始事务 commit 提交(全部完成) rollback 回滚(回到初始状态)-- 开启一个事务start transaction;-- 或者使用(非标准sql)beg转载 2017-11-08 09:18:22 · 613 阅读 · 0 评论 -
C#代码CRUD操作MySQL数据库
首先Program.cs代码如下: class Program { static void Main(string[] args) { // CrudDemo app = new CrudDemo("localhost", "b2cshop", "root", "123456");原创 2016-07-31 22:02:34 · 2379 阅读 · 0 评论