MySql教程

MySQL的坑

本文主要是介绍MySQL的坑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  1. select * from lb_task_type where type_desc like '%Task%' or '%Script%'

    以上语句mysql执行不报错,但结果不对,只选出‘%Task%’的结果集。正确写法是:where type_desc like '%Task%' or type_desc like '%Script%'。但上述语句在hive里会直接报错。

 

     2.Mac OS X上,启动mysql报错

   [ERROR] InnoDB: Unable to lock ./ibdata1 error: 35

   [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

      ps -ef | grep mysqld查看确实有相关mysqld存在。强行杀掉后,过一会查看ps -ef | grep mysqld,又有相关mysqld存在。

  •  原因:Mac管理mysqld进程和linux完全不同。Mac使用launchd来管理需要自动启动的进程,需要在mysql安装目录下找到plist文件,使用launchctl卸载和加载plist文件,达到启动和停止mysqld的目的。
  • 停止:launchctl unload -w /usr/local/opt/mysql/homebrew.mxcl.mysql.plist
  • 启动:launchctl load -w /usr/local/opt/mysql/homebrew.mxcl.mysql.plist或 /usr/local/mysql/support-files/mysql.server start --skip-grant-tables

 

     3.lb_task_ext(记录少),anyloader_job_log(记录多),lb_task(记录多)3表作inner join,且连接条件都是task_id,则把lb_task_ext作为中间连接表,执行效率会大幅提高。

    4.有些表的数字列被定义为varchar类型,则需要order by cast(total_success_lines_writed as signed) desc转换为数字类型进行排序。

这篇关于MySQL的坑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!