2013-12-11 35 views
5

Czy procedura składowana przez użytkownika z przedrostkiem SP (nie SP_) ma gorszą wydajność przez sprawdzenie w głównej bazie danych (podobnej do nazwy użytkownika SP o nazwie SP_) lub czy wygląda w DB, gdzie procedura składowana istnieje, ponieważ brakuje podkreślenia?Unikaj nazewnictwa procedur przechowywanych przez użytkownika SP% lub SP_%

+0

Sugestia. Używam "dbo.uspEmployeeGetSingle". Prefiks "usp". następnie podmiot, działanie. – granadaCoder

Odpowiedz

9

Obiekt reserved prefix, który wykazuje takie zachowanie, to sp_. Nie sp.

Procedura składowana o nazwie spAddUser zostanie rozwiązana w normalny sposób, nie szukając pasującego obiektu w master.

Odpowiedni quote in books online jest

Unikaj używania przedrostka sp_ podczas nazywania procedur. Ten prefiks to używany przez SQL Server do wyznaczania procedur systemowych. Używanie prefiksu może spowodować złamanie kodu aplikacji, jeśli istnieje procedura systemowa o tej samej nazwie.

Ale i tak uniknę tych prefiksów. Jeśli wszystkie zapisane procedury są poprzedzone prefiksem sp, szybko staje się irytującym IMO.

+0

Kiedy wszystkie SP są poprzedzone prefiksem sp, o co chodzi? dotyczy to wszystkich innych rzeczy, notacja węgierska rzadko ma sens – BlackTigerX

+0

@BlackTigerX - Zgadzam się z tobą. Z kontekstu normalnie jest oczywiste, że obiekt jest procedurą składowaną (podczas gdy można również używać skalowalnych UDF "EXEC" prawie nikt nie robi). Mniej irytujące niż przedrostek 'tbl'. Po refakturowaniu baz danych za pomocą tego można łatwo skończyć z widokami zgodności wstecznej zastępując tabele, które wciąż mają prefiks 'tbl', który ma oznaczać tabelę!) –

+0

@MartinSmith Czy SP_ (wielkie litery) mają taki sam efekt jak niższe Przedrostek sp_katalogu? – user797717