左右连接并不区分大小表,left join会先整表扫描左边的表,再扫描右边的表;同理right join会先扫描右边的表,再扫描左边的表;内连接的话是不确定的,会根据数据量,先扫描整表扫描小表,在扫描右表。外连接的过滤条件放在where和on后边是不同的...
阅读全文...
MySQL-慢查询日志优化SQL
查看慢查询日志开关是否打开mysql> show variables like 'slow_query%';mysql> show variables like 'slow_query%';
+---------------------+--...
阅读全文...
阅读全文...
MySQL-事务隔离级别实现原理
事务隔离级别(隔离性实现底层)实现原理 = 锁 + MVCC(mvcc处理这两种级别:REPEATABLE-READ和READ-COMMITTED)SERIALIZABLE需要依赖间隙锁,即解决幻读问题原子性,一致性,持久性:undo log(回滚日志)...
阅读全文...
阅读全文...
redis安装和基本使用
一、安装redisGitHub地址:https://github.com/redis/redis下载压缩包:https://github.com/redis/redis/archive/refs/tags/7.4.2.tar.gztar -zxvf 7....
阅读全文...
阅读全文...
如何在CMake中正确的添加库文件:MSVC与MinGW混用陷阱
记一次在windows+cmake+MinGW环境下使用openssl添加库文件错误的经历一、库文件介绍OpenSSL下载路径:https://slproweb.com/products/Win32OpenSSL.html安装后的库文件是这样的bin目录...
阅读全文...
阅读全文...
C++ 报错:undefined reference to ‘xxxx’
undefined reference to ‘xxx’函数#情况1,库链接顺序不正确导致,明显特征是报错的函数是我们自己实现的函数,而不是底层函数
[build] D:/a-mycode/C++/DDZ-NET/client-ddz/window/lo...
阅读全文...
阅读全文...
C++封装OpenSSL哈希类
一、 基本用法// 创建MD5哈希对象
CryptographicHash hash(CryptographicHash::HashType::Md5);
// 添加数据
hash.addData("Hello World");
...
阅读全文...
阅读全文...
Qt和OpenSSL进行base64编解码开发
一、基本用法// 发送端对加密后的数据使用base64编码
Base64 base64;
QByteArray encryptData = base64.enCode(reinterpret_cast<char*>(out), outLen)...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(3)--数据加解密
4.1使用公钥加密4.1.1、EVP_PKEY_CTX_new用于创建与给定密钥对象(EVP_PKEY)相关联的密钥上下文(EVP_PKEY_CTX)。EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGI...
阅读全文...
阅读全文...