我想知道哪种Oracle数据类型非常适合存储来自C#代码的异常堆栈跟踪。
答案 0 :(得分:0)
使用CLOB类型存储大文本(字符)数据。
答案 1 :(得分:0)
Exception.StackTrace获取调用堆栈上具有System.String类型的直接帧的字符串表示。
如果您对完整跟踪感兴趣,可能不适合VARCHAR2 variable which has a limit of 4000 bytes,则必须使用CLOB datatype which stores up to 128 terabytes of character data。
clob将作为varchar2内联存储,最多4000字节,因此不会有任何性能差异。当它超过它时,它将移出一行,这将很慢访问。
因此,如果您关注性能,您可能还会考虑仅存储部分完整跟踪。例如,第一行包含实际错误,以及您自己的代码调用框架代码的行。