學(xué)會SL并不難,要成為優(yōu)秀的SL程序員卻絕非易事。
40 2017-05-04
大多數(shù)程序員都會接觸各種不同的項目,每個項目所使用的數(shù)據(jù)庫可能并不相同,因此,很多程序員往往慣性地認為數(shù)據(jù)庫的SQL編程就是SELECT、INSERT、UPDATE、DELETE加上一些控制語句。同時,有些程序員在學(xué)習(xí)并從事了過程化或面向?qū)ο缶幊讨蟛呸D(zhuǎn)到SQL編程上,因此他們的SQL編程往往帶有強烈的程序員特性(后面介紹的SQL編程第一階段的特性)。在國內(nèi),通常很少有公司會聘請面向SQL開發(fā)的程序員,在國外卻有SQL開發(fā)程序員的職位,工作內(nèi)容是從事與SQL編程相關(guān)的開發(fā)工作。對于一些數(shù)據(jù)庫方面的考試,如在Oracle的OCP考試分類中,特別區(qū)分了面向數(shù)據(jù)庫的管理和面向數(shù)據(jù)庫的開發(fā)。
而在國內(nèi),大部分SQL程序員就是C、C++或者Java程序員兼的,他們既負責(zé)應(yīng)用程序的開發(fā),也包攬了SQL編程的工作,這樣往往會導(dǎo)致在數(shù)據(jù)庫中大量使用或者說濫用非關(guān)系模型的思想。這里以筆者在一家網(wǎng)游公司遇到的情況為例進行介紹。通常會因為各種原因需要對運營中的游戲大區(qū)進行合并,如將華東一區(qū)和華東二區(qū)合并,底層所做的操作就是將兩個數(shù)據(jù)庫中的數(shù)據(jù)進行合并,而兩個數(shù)據(jù)庫的表結(jié)構(gòu)都是一樣的。并區(qū)的腳本通常使用SQL來完成,當(dāng)然復(fù)雜一點的可能需要借助一下腳本語言。但是不管怎么說,SQL編程的好壞往往會影響并區(qū)時間長短。一個好的并區(qū)程序可以在四五個小時內(nèi)完成幾千萬數(shù)據(jù)量的表,而有問題的SQL并區(qū)程序一個星期可能都不能完成任務(wù)。時間對一個網(wǎng)絡(luò)游戲意味著很多,可能是玩家的回歸,也可能是玩家最終的流失,更不用說那些在并區(qū)過程中收入的損失。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號