Albert World


  • 首页

  • 归档

  • 标签

  • 分类

  • 工具

  • 关于

  • 搜索

Mysql5.7版本中数据表字段可用的类型

发表于 2019-07-02 | 更新于 2019-11-17 | 分类于 Mysql |
热度 ℃
  |   字数统计: 1,827(字)   |   阅读时长: 8(分)

前言

为什么会有这个总结,因为在测试Mysql的字符串函数时发现,char 和 varchar 有些不同,网上搜索一番发现了各种char、varchar、nvarchar 类型的对比,还有一些奇奇怪怪的这里就不说了,然后我就开始了对这几种类型字符串的测试,接着就悲剧了,测试多次之后发现创建为nvarchar类型的字段居然是varchar类型的,再查询官方文档后发现,当前版本(5.7.21)的Mysql根本就没有nvarchar类型的字段,白白浪费了时间,所以要把Mysql支持的字段列举在这里,方便后面查找使用。

阅读全文 »

逐步砍掉树杈的堆排序

发表于 2019-06-29 | 更新于 2019-11-17 | 分类于 Sort |
热度 ℃
  |   字数统计: 3,820(字)   |   阅读时长: 15(分)

前言

在实现堆排序之前,我们先来看看常见的数据结构,在网上我看到了一个特别全的版本:数组,栈,链表,队列,树,堆,图,散列表,本着鸡蛋里挑骨头的态度,我们来看看数组和链表,这两个到底算不算数据结构,貌似它们应该算是线性表这个结构,它们更应该被称作是一个实现结构的元素,比如通过数组和链表可以实现线性表、队列、栈,二叉树等等,可是看看数据结构的定义是计算机存储、组织数据的方式,貌似它们又算是数据结构,反正这个概念模模糊糊,不太清楚,要按我的理解常见结构应该只有线性表、栈、队列、树、图,其他的像堆其实是一种树,散列表很多的内部实现也是树。

阅读全文 »

float的精度和取值范围

发表于 2019-06-27 | 更新于 2019-11-17 | 分类于 concepts |
热度 ℃
  |   字数统计: 2,959(字)   |   阅读时长: 11(分)

前言

关于float的精度和取值范围这个问题,我查询了很多次,每次都是用完就忘了,等到再使用的时候还需要再次查询,关键是这个问题大家给出的结果并不都是一致的,我得从众多的资料当中选择出正确的观点,这还要额外花一些时间,所以我决定也总结一次,方便我以后拿来直接用了,如果能给大家带来帮助那就更好了。下面提到一些说法很多都是我个人的理解,如果大家有疑义,欢迎讨论。

阅读全文 »

Mysql中使用count加条件统计

发表于 2019-06-03 | 更新于 2019-11-17 | 分类于 Mysql |
热度 ℃
  |   字数统计: 875(字)   |   阅读时长: 4(分)

前言

最近发现在处理Mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统计了,比如说一个常见的需求,统计每个班级男生所占的比例,这种情况一般会按照班级分组,但是分组内不但要统计班级的人数,还要统计男生的人数,也就是说统计是有条件的,之前确实没有考虑过怎样实心,后来查询了资料,总结在这里,方便日后查找使用。

阅读全文 »

gdb启动多进程程序并切换调试进程

发表于 2019-05-24 | 更新于 2019-11-17 | 分类于 linux |
热度 ℃
  |   字数统计: 1,344(字)   |   阅读时长: 7(分)

前言

gdb是linux环境下调试C/C++程序的强大工具,但是最近在使用gdb启动一个多进程程序的时候总是意外退出,显示信息中包含Detaching after fork from child process 25377.这一句,而用attach命令附加到正在运行的进程却没有问题,因为需要调试启动逻辑的部分代码,所以必须使用gdb启动多进程程序,后来发现可以通过gdb的follow-fork-mode选项来切换进程,达到调试指定进程的目的。

阅读全文 »

Mysql调优之Using filesort

发表于 2019-05-16 | 更新于 2019-11-17 | 分类于 Mysql |
热度 ℃
  |   字数统计: 1,430(字)   |   阅读时长: 6(分)

前言

在使用 explain 命令优化SQL语句的时候常常会在Extra列的描述中发现 Using filesort 选项,其实这个名字很容易造成误解,一开始我以为是“文件排序”的意思,进一步说可能就是使用了磁盘空间来进行排序,但是这个理解是错误的,Using filesort 真正含义其实只有 sort 这一个单词,和 file 没有什么关系,Mysql一般是通过内存进行排序的,不过,要是超过了配置中的限制,应该会生成临时表。

阅读全文 »

linux环境下查看C/C++程序的堆栈信息

发表于 2019-05-08 | 更新于 2019-11-17 | 分类于 linux |
热度 ℃
  |   字数统计: 2,027(字)   |   阅读时长: 11(分)

前言

经常在Windows上开发的工程师们可能已经习惯了图形化的调试界面,在源代码的编辑框上点击就可以添加断点,在调用堆栈的窗口就可以看到程序运行的堆栈信息,但是在 linux 环境下,面对命令行的天下,我们需要掌握一些命令,才能够查看C/C++程序的堆栈信息。

阅读全文 »

Python利用requests模块实现代理访问网络

发表于 2019-05-05 | 更新于 2019-11-17 | 分类于 Python |
热度 ℃
  |   字数统计: 620(字)   |   阅读时长: 3(分)

前言

代理相信很多人都听过,即使没有自己感受到,在无形之中可能也使用过,网络代理作为一项技术,在访问互联网时被广泛使用,那是因为使用代理有着诸多好处。

阅读全文 »

Mysql中explain命令简析

发表于 2019-04-27 | 更新于 2019-11-17 | 分类于 Mysql |
热度 ℃
  |   字数统计: 6,541(字)   |   阅读时长: 29(分)

前言

之前总结了Mysql慢查询日志的开启与配置方法,通过分析慢查询日志可以锁定执行效率差的SQL,但是这仅仅是发现了需要优化的部分,还要分析执行缓慢的原因,这时候就可以使用EXPLAIN命令去分析,所执行的操作究竟慢在哪里,是不是可以通过加索引或者改变查询方法来解决。

阅读全文 »

gcc编译生成可执行文件的过程中发生了什么

发表于 2019-04-16 | 更新于 2019-11-17 | 分类于 C/C++ |
热度 ℃
  |   字数统计: 3,450(字)   |   阅读时长: 12(分)

前言

一直好奇程序的编译过程到底做了哪些工作,后来学会在Ubuntu上使用gcc编译程序,知道了生成可执行文件需要分为预编译、编译、汇编和链接4个步骤,逐渐了解了其中的细节,但是过一段时间之后总是记不太清楚了,所以总结一下增强记忆,同时方便日后查找使用。

阅读全文 »
1…232425…28
Albert Shi

Albert Shi

阳光总在风雨后,大雨过后是冰雹

273 日志
44 分类
694 标签
RSS
GitHub 简书 StackOverflow CSDN 知乎 墨天轮
Links
  • Web前端导航
  • 文字编码导航
  • 在线代码编译
  • 在线工具集合
  • 在线教程集合
© 2018 - 2024 Albert Shi
Hexo 强力驱动
主题 - NexT.Mist
Unless otherwise specified, this blog is licensed under a CC BY-NC-ND 4.0 International License.