如何理解Oracle和MySQL中短小精悍的SQL

这篇文章将为大家详细讲解有关如何理解Oracle和MySQL中短小精悍的SQL,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

如果让你写一个简单牛叉的SQL,数据库类型不限,你会写出什么样的SQL语句。

Oracle

   如果是Oracle,我就写个drop table dual;

这个SQL看起来很简单,包含的信息量还是蛮大的,首先对于dual表你得有一定的认识和了解,而这个视图和一般的数据字典不同,如果删除之后,直接会导致数据库不可用。恢复起来需要一个隐含参数来调整。

   当然如果想换一个角度来,写出一些含有人生哲理的SQL来,这方面得下不少功夫了。

   我想了一个,比如Flashback database to sysdate-1/24/60;

   这个我想表达的意思就是,数据库可以闪回到一分钟前,而我们的人生不会,统统不会。

MySQL

     MySQL的角度来写几个这方面的SQL自己还真想了不少,但是感觉都不是很满意,直到我看到了jeremycole 提供的一个MySQL性能测试语句,简单但是威力很大。

   github上可以看到 https://github.com/jeremycole/yesmark

    语句就一行:

yes "DO 0;" | mysql >/dev/null &

    如果想开个并行,那也不是事儿,比如开16个并发。

for i in {1..16}; do yes "DO 0;" | mysql > /dev/null & done

   这样的语句真实短小精悍。

关于如何理解Oracle和MySQL中短小精悍的SQL就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/204246.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论