Deletion of single list entry traverses through whole list creating performance issue

We are facing an issue related to performance while deleting a specific entry from a list.
E.g. our list is

Container xyz {
list abc {
tailf:callpoint abcCall {
tailf:transform true;
key name;
leaf name {
type string {
length “min … 32”;
view:register-hook “abc”;
leaf id1 {
type int {
leaf id2 {
type int {

Now we have 2000 entries of abc with key as name e.g abc{one}, abc{two}, … abc{2thousand}
While I am trying do
“no abc two”
I can see the flow as follows
It deletes each element like/abc{two}/id1 ; /abc{two}/id2 and finally abc

Then get_next is called and it starts traversing through the whole list and checks each entry starting from abc{one} to abc{2thousand}

Following is the trace
TRACE CALL trans init(thandle=131,mode=“rw”,db=running)
TRACE CALL data delete(thandle=131,/xyz/abc{two})
< It deletes each element like/abc{two}/id1 ; /abc{two}/id2 and finally abc>

TRACE CALL data get_next(thandle=131, /xyz/abc, -1)
TRACE CALL data get_next(thandle=131, /xyz/abc, 34146272) – this is for abc{one} and it continues for all the list entries till abc{2thousand}